Есть ли возможность определить псевдоним оболочки для команд, выполняемых через php system
, exec
и т.д. функции? Я запускаю несколько версий PHP с использованием fastcgi, и мне нужно запускать правильную версию PHP при выполнении
exec('php -f script.php');
внутри веб-приложения, поэтому для некоторых вызовов vhosts php
Мне нужно бежать /usr/bin/php
и для других, например /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
Таким образом, у каждого хоста есть собственный скрипт php5x.fcgi и файл php.ini.