我的情况类似于PHP shell_exec 使用 ssh 运行 shellscript但不一样。
情况:我在两台服务器之间交换了 ssh 密钥,切换到www-data
用户并通过 SSH 连接到第二台服务器,无需密码。
测试 1: ssh user@10.8.0.6 Documents/run.sh list 在 shell 中执行时工作正常
测试 2:将一个简单的 PHP Exec 放入 PHP 文件中可以正常工作。它返回一个数组,Retval 为 0
测试 3:将 exec 放入“大”PHP 脚本并调用它会导致 Retval 255(致命错误?!?!?)
所以目前我真的不明白为什么它不起作用。我试图找出有关 retval 255 的更多细节,但没有走多远。
差异必须在 PHP5 与 PHP5 cli 中的某个地方。但在我不得不使用 OpenVPN 之前,它也可以通过正常的 Apache 调用正常工作。