已安装但未加载PHP扩展

已安装但未加载PHP扩展,php,ubuntu,nginx,libssh2,Php,Ubuntu,Nginx,Libssh2,我正在尝试安装php的ssh2扩展,但有点困难。文件就在那里,只是没有加载到php中 首先,我安装了ssh2,其中包括: aptitude install libssh2-1-dev libssh2-php (无论如何,我在Nginx上运行Ubuntu12.04。) 我可以看到ssh2是使用modules命令加载的: php -m |grep ssh2 ssh2 然而,当我运行代码时,我得到一个未定义的函数错误 在我的phpinfo()脚本中,我可以看到我的php安装程序会扫描这个目录以查

我正在尝试安装php的ssh2扩展,但有点困难。文件就在那里,只是没有加载到php中

首先,我安装了ssh2,其中包括:

 aptitude install libssh2-1-dev libssh2-php
(无论如何,我在Nginx上运行Ubuntu12.04。)

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

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服务器

我还缺什么吗

  • 在php.ini中设置
    display\u startup\u errors=On
  • 在php.ini中设置
    error\u log='/var/log/php error.log'
  • 创建错误日志-
    touch/var/log/php error.log

  • 现在,您可以重新启动php5 fpm守护进程,并在错误日志中查找ssh2模块的任何错误。我试图为Plesk构建安装一个PHP扩展。您需要修改对应于域的Plesk php.ini版本(可以在基于web的控制面板的“工具和设置”下找到)。错误日志将位于/var/log/plesk phpXX fpm中


    请勿如上所述取消对错误日志(#2/#3)的注释,否则您将看不到此位置显示错误。

    为什么要使用libssh2?您可以使用其他库吗?您需要重新启动php而不是nginx,
    sudo服务php5 fpm restart
    如何重新启动php守护程序?
    sudo pkill php7.4-fpm;sudo服务php7.4-fpm restart
    似乎是重新启动守护程序的好方法(替换为您的版本)