PHP 作为 Apache 模块:更改 PHP 解释器的路径

PHP 作为 Apache 模块:更改 PHP 解释器的路径

我有一个 Ubuntu LAMP,其中安装了 PHP 作为模块。由于它是默认的 LAMP 服务器,Apache 会获取 /usr/bin/php 来执行 PHP。我有一个内置在 /opt/php/5.3.8 中的 PHP,我喜欢使用此路径。我该如何告诉 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。但是没有任何反应...

=== 找到答案 ===

好吧,我明白了!如果 PHP 由 Apache 作为模块运行,那么您需要做的就是在虚拟主机中添加以下行:

LoadModule php5_module /my/php/distro/libs/libphp5.so

答案1

如果 PHP 由 Apache 作为模块运行,那么您要做的就是在虚拟主机中添加该行:

LoadModule php5_module /my/php/distro/libs/libphp5.so

答案2

如果您将 PHP 用作模块,则意味着“解释器”是通过静态编译或共享库加载的库(后者通过 Francois 的 LoadModule 示例进行了演示)。在这种情况下,解释器路径没有任何意义。如果您想使用自定义编译的 CGI,您首先(通常)需要停止加载模块版本。

相关内容