已安装PHP扩展但未加载

时间:2013-11-30 21:39:09

标签: php ubuntu nginx libssh2

我正在尝试安装php的ssh2扩展,并且遇到一些困难。该文件在那里,它只是没有加载到PHP。

首先,我安装了ssh2:

 aptitude install libssh2-1-dev libssh2-php

(对于它的价值,我在Nginx上运行Ubuntu 12.04。)

我可以看到使用modules命令加载ssh2:

php -m |grep ssh2
ssh2

但是,当我运行我的代码时,我得到一个未定义的函数错误。

在我的phpinfo()脚本中,我可以看到我的php安装扫描此目录以获取其他ini文件:/etc/php5/fpm/conf.d。列出该目录的内容,我可以看到我的ssh2.ini就在那里:

ls /etc/php5/fpm/conf.d
mysqli.ini  mysql.ini  pdo.ini  pdo_mysql.ini  ssh2.ini  

再次根据phpinfo,加载了其他四个ini文件。 SSH2不是。

我也尝试将“extension = ssh2.so”直接放在我的php.ini文件中 - /etc/php5/fpm/php.ini。是的 - 我已经重新启动了我的nginx服务器。

我错过了别的什么吗?

2 个答案:

答案 0 :(得分:3)

  1. 在php.ini
  2. 中设置“display_startup_errors = On”
  3. 在你的php.ini中设置“error_log ='/ var / log / php_error.log'”
  4. 创建错误日志 - 触摸/var/log/php-error.log
  5. 现在,你可以重启php5-fpm守护进程并在错误日志中查找ssh2模块的任何错误

答案 1 :(得分:0)

Aleksandr的回答很有帮助。我试图为Plesk构建安装PHP扩展。您需要对与域相对应的Plesk php.ini版本进行修改(您可以在“工具和设置”下基于Web的控制面板中找到该域)。错误日志位于/ var / log / plesk-phpXX-fpm。

请勿如上所述取消注释error_log(#2 /#3),否则您将不会在该位置看到该错误。