我有一个服务器(测试),它有“php”命令,我可以运行CLI。另一台服务器(托管)仅使用“php5-cli”命令运行。
示例:
exec("php file.php"); // Works on test server
exec("php5-cli file.php"); // Works on hosting server
我的脚本如何检测使用哪一个?
答案 0 :(得分:1)
您可以将php-cli
符号链接为php
,反之亦然吗?
这样就可以了。
答案 1 :(得分:1)
创建特定于每个服务器的配置值。在某些服务器上,您将遇到php5
作为cli命令,而不是php :)系统管理员可以轻松地将可执行文件重命名或符号链接到他喜欢的任何名称。
编辑: 尝试以下方面:
$output = Array();
$result = -1;
exec("php -f myScript.php", $output, $result);
if($result==-1){
// you should try to exec use the other method here
echo "app 'php' not found";
}else{
// the exec was a success
}
答案 2 :(得分:1)
php-config --php-binary
php-config5 --php-binary
但是你可能遇到类似的问题,不能保证调用该命令(或它存在)。不确定有多少托管公司使用它。
答案 3 :(得分:1)
确保在使用每个php.ini时包含哪个php.ini。
答案 4 :(得分:1)
为什么不在其中一个服务器ln -s
上创建一个符号链接到可执行文件,以便其中一个服务器在两个服务器上都可用。
那应该解决这个问题。