Похоже, что мой секретный ключ для Twitter API 1.1 не расшифровывается в моем контроллере CodeIgniter на моем экземпляре Amazon EC2 (немного похоже на этот вопрос), потому что
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.
Как решить эту проблему? Должен ли я просто сохранить незашифрованный секретный ключ пользователя в файле конфигурации?
Codeigniter использует некоторые стандартные библиотеки шифрования и возвращается, если они недоступны. Я не думаю, что mcrypt
доступен по умолчанию Amazon Linux AMI. Ты можешь
a) использовать резерв; просто заново зашифруйте consumer_secret на ec2 и поместите его в конфигурацию
b) установить mcrypt
$ sudo yum install php-mcrypt $ sudo service httpd restart