我有一台服务器(测试),它具有我可以运行CLI的“php”命令。其他服务器(托管)只能使用“php5-cli”命令运行。PHP CLI - 我应该使用哪个命令?
例子:
exec("php file.php"); // Works on test server
exec("php5-cli file.php"); // Works on hosting server
如何将我的脚本检测要使用哪一个?
我有一台服务器(测试),它具有我可以运行CLI的“php”命令。其他服务器(托管)只能使用“php5-cli”命令运行。PHP CLI - 我应该使用哪个命令?
例子:
exec("php file.php"); // Works on test server
exec("php5-cli file.php"); // Works on hosting server
如何将我的脚本检测要使用哪一个?
为每个服务器设置特定的配置值。在某些服务器上,您将遇到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
}
请问符号链接php-cli
为php
或者反之亦然?
这种方式要么工作。
php-config --php-binary
php-config5 --php-binary
但你可能碰上不能保证类似的问题是什么命令被称为(或它的存在)。不知道有多少托管公司使用它。
确保在使用每个php.ini时都包含哪个php.ini。
为什么不在一台服务器ln -s
上的可执行文件上建立符号链接,以便其中一台服务器可用。
这应该解决这个问题。
他明确指出'php'不能在他的主机服务器上工作,因此他的问题。 – 2011-02-25 15:00:31