PHP警告:模块' ssh2'已经在第0行加载了Unknown

时间:2016-08-09 12:52:02

标签: php linux bash ssh2-exec

这台机器工作正常,但出于某种原因,我现在无法再在此服务器上远程执行bash脚本。

我可以通过ssh2_exec连接而没有问题,但是当我尝试运行bash脚本时没有任何反应。

if (!function_exists("ssh2_connect")) die("function ssh2_connect doesn't exist");

$connection = ssh2_connect('serverip.com', 22);
ssh2_auth_password($connection, 'user', 'password');

$stream = ssh2_exec($connection, "/root/incoming/test.sh &> /dev/null &");

在这个例子中,test.sh只是调用wget来下载预定义的文件。

wget -O /root/incoming/files/myfile.zip http://remoteserver.com/file.zip

当我在这台机器上本地grep ssh2时:

php -m |grep ssh2

我得到了预期的结果:

ssh2

但是当我远程grep ssh2时,我得到了这个:

PHP Warning:  Module 'ssh2' already loaded in Unknown on line 0
ssh2

我发现了以下相关问题here,指出在配置文件中加载了两次扩展可能会引发此错误。

所以,正如我所建议的那样/etc/php5/apache2/php.ini - extension=ssh2.so并不存在,所以这不是问题。

接下来,我按照其他建议并注释掉了/etc/php5/mods-available/ssh2.ini

;extension=ssh2.so

但是现在当我尝试grep ssh2时,模块根本没有被加载。 有没有其他地方我可以寻找ssh2潜在的双重负载?

干杯!

编辑 - 我确实在20-ssh2.ini中找到了一个名为/etc/php5/apache2/conf.d的文件,该文件再次加载了扩展程序,并且已经将其删除,重新启动了apache但仍然收到错误。

编辑II - 刚刚意识到重新启动Apache时正在重新创建上面的文件,这可能是问题吗?

0 个答案:

没有答案