是否有可能为通过 php 等函数执行的命令定义 shell 别名system
?exec
我正在使用 fastcgi 运行多个版本的 PHP,我需要在执行时运行正确版本的 PHP
exec('php -f script.php');
在 Web 应用程序内部,因此对于某些 vhosts 调用php
我需要运行/usr/bin/php
,对于其他 vhosts 例如/opt/php5.2.4/bin/php
。
我的虚拟主机配置如下所示
<IfModule mod_fastcgi.c>
AddHandler php5-fcgi .php
Action php5-fcgi /php5-fcgi
Alias /php5-fcgi /var/www/test.loc/www.test.loc/cgi-bin/php52.fcgi
</IfModule>
以及php52.fcgi
(分别为php55.fcgi):
#!/bin/sh
export PHP_FCGI_CHILDREN=4
export PHP_FCGI_MAX_REQUESTS=200
export PHPRC="/opt/php5.2.4/php.ini"
exec /opt/php5.2.4/bin/php-cgi
因此每个 vhosts 都有自己的 php5x.fcgi 脚本和 php.ini 文件。