我有一个安装了PHP的Ubuntu LAMP作为模块。 由于它是一个默认的LAMP服务器,Apache会获取/ usr / bin / php来执行PHP。 我在/opt/php/5.3.8中有一个PHP,我喜欢使用这个path。 我怎么能告诉Apache呢? 在localhost的默认虚拟主机中,我试图在我的标记<VirtualHost *:80></VirtualHost> :
<IfModule alias_module> ScriptAlias /cgi-bin-php/ "/opt/php/5.3.8/bin" </IfModule> <Directory "/opt/php/5.3.8/bin"> AllowOverride All Options None Order allow,deny Allow from all </Directory> # Set the environment var for PHP to look for php.ini's SetEnv PHP_INI_SCAN_DIR "/opt/php/5.3.8/lib/conf.d/" AddHandler php-script .php Action php-script /cgi-bin-php/php-cgi
我有a2enmod actions && /etc/init.d/apache2 restart 。 但没有任何反应….
===find答案===
好吧,我明白了! 如果PHP是由Apache作为模块运行的,那么你需要做的是在你的虚拟主机中添加该行:
LoadModule php5_module /my/php/distro/libs/libphp5.so
如果PHP是由Apache作为模块运行的,那么你需要做的是在你的虚拟主机中添加该行:
LoadModule php5_module /my/php/distro/libs/libphp5.so
如果您使用PHP作为模块,这意味着“解释器”是一个通过静态编译或共享库加载的库(后者通过Francois的LoadModule示例进行了演示)。将不会有有意义的解释器path这样的情况。 如果要使用自定义编译的CGI,您首先(通常)要停止加载模块版本。