在我的VPS服务器(Linux)中的代码上使用shell_exec
时出现错误:
Content-type: text/html; charset=utf-8
Warning: shell_exec(): Unable to execute 'php /home/usr/public_html/testsite/test.php remote' in /home/usr/public_html/testsite/test2.php on line 8
我对错误进行了划分,实际上我在显示警告错误之前获得了很多Content-type: text/html; charset=utf-8
。
test.php的:
function connect($server)
{
$servername = "localhost:3306";
$username = "user";
$password = "pass";
$dbname = "dbname";
// Create connection
$conn = new mysqli($servername, $username, $password, $dbname);
// Check connection
if ($conn->connect_error) {
die("Connection failed: " . $conn->connect_error);
}
else{
echo 'connected';
}
return $conn;
}
test2.php:
echo shell_exec('php /home/usr/public_html/testsite/test.php');
我尝试使用我的本地机器(Mac OS X)和MAMP,它工作得很好(是的,我相应地更新了数据库参数和文件)。我也试过没有运气的system()和passthru()。
我的VPS服务器应该更改什么? Linux配置?阿帕奇?
答案 0 :(得分:0)
PHP可能不在您的路径中:您可能可以使用PHP_BINARY来查找PHP的路径,但许多PHP安装不包括PHP的命令行版本。如果使用PHP模块或过滤器,这很常见。
在Debian / Ubuntu系统上,您可以要求安装php5-cli:
sudo apt-get install php5-cli
在其他系统上会有类似的命令。
如果您不是系统管理员,可以向VPS管理员寻求帮助。
答案 1 :(得分:0)
感谢所有答案。我在php文字后面添加-p时可以正常工作。