1

看来我的 Twitter API 1.1 的消费者密钥没有在我的 Amazon EC2 实例上的 CodeIgniter 控制器中被解密(与这个问题有点相似),因为

  • 故障排除时出现unable to authenticate you错误
  • 并且我的print_r($settings)声明(见下文)在浏览器中显示了消费者机密的不可读字符,尽管我使用这一行对其进行了解密'consumer_secret' => $this->encrypt->decode($this->config->item('consumer_secret')

my_controller.php

$settings = array(
            'oauth_access_token' => $this->config->item('oauth_access_token'),
            'oauth_access_token_secret' => $this->config->item('oauth_access_token_secret'),
            'consumer_key' => $this->config->item('consumer_key'),
            'consumer_secret' => $this->encrypt->decode($this->config->item('consumer_secret'))
        );  
        print_r($settings);

注意:我将加密的消费者密钥保存在 CodeIgniter 的配置目录中,并在 config.php 中设置了我的加密密钥。有趣的是,它在 WAMP 中运行良好,但在 Amazon EC2 中却不行。

我该如何解决这个问题?我应该将未加密的消费者密钥保存在配置文件中吗?

4

1 回答 1

2

Codeigniter 使用一些标准的加密库,如果它们不可用,就会回退。我认为mcrypt在默认的 Amazon Linux AMI 上不可用。你可以

a) 使用回退;只需重新加密 ec2 上的 consumer_secret 并将其放入配置中

b) 安装 mcrypt

$ sudo yum install php-mcrypt
$ sudo service httpd restart
于 2013-05-28T19:24:21.477 回答