我一直在尝试使用 PHP 5.3.14 设置我的开发服务器,以便通过 CGI 为我的一个 Apache 虚拟主机提供服务。
我设置的 Apache 服务器是 Apache 2.2.3,其中 PHP 5.2.10 作为 Apache 模块运行。操作系统是 CentOS 5.5。其中一个网站使用仅在 PHP 5.3 中可用的功能,而我的网站需要 5.2,因此我只想通过 CGI 运行需要 PHP 5.3 的网站。
我按照几个教程操作,直到安装好 Apache/PHP 5.2 并作为模块运行为止。我还成功下载并编译了 PHP 5.3.14,直到构建好 php-5.3.14/sapi/cgi/php-cgi 可执行文件并准备就绪为止。如果我使用脚本运行它,它会正常工作。但是,在向 VirtualHost 添加了我认为正确的指令后,该网站仍然没有使用 PHP 5.3,它继续工作,使用 PHP 5.2(设置为 Apache 模块的版本)。
这是我的 Vhost 配置:
<VirtualHost *:80>
ServerName utfl.peapoddev.com
ServerAlias elegal.utfl.peapoddev.com subsite.utfl.peapoddev.com library.utfl.peapoddev.com
DocumentRoot /var/www/utfl/drupal
DirectoryIndex index.html index.php
SetEnv PHPRC /var/www/cgi-bin/php_5_3_14/
ScriptAlias /php-5-3-14/ /var/www/cgi-bin/php_5_3_14/
Action application/x-httpd-php-5-3-14 /php-5-3-14/php-cgi
AddType application/x-httpd-php-5-3-14 .php .inc
<Directory "/var/www/cgi-bin/php_5_3_14">
<Files "php-cgi">
Allow from all
</Files>
</Directory>
<Directory "/var/www/utfl/drupal">
Options Indexes Includes FollowSymLinks
AllowOverride None
Order allow,deny
Allow from all
AllowOverride All
</Directory>
LogLevel Debug
ErrorLog /var/www/utfl/logs/error_log
CustomLog /var/www/utfl/logs/access_log combined
如果您需要更多信息,请告诉我。我做错了什么?
答案1
我在 CentOS-5.9 上使用以下配置
<VirtualHost *:80>
ServerAdmin [email protected]
DocumentRoot /vhosts/php53.example.net/
ServerName php53.example.net
ScriptAlias /php-fastcgi/ /usr/local/php-5.3.26/bin/
AddHandler php-fastcgi .php
AddType application/x-httpd-php .php
Action php-fastcgi /php-fastcgi/php-cgi
<Directory /vhosts/php53.example.net/>
DirectoryIndex index.php
AllowOverride All
Order allow,deny
Allow from all
</Directory>
</VirtualHost>
<VirtualHost *:80>
ServerAdmin [email protected]
DocumentRoot /vhosts/php52.example.net/
ServerName php52.example.net
<Directory /vhosts/php52.example.net/>
DirectoryIndex index.php
AllowOverride All
Order allow,deny
Allow from all
</Directory>
</VirtualHost>
php-5.3 配置了以下选项
# # ./configure --prefix=/usr/local/php-5.3.26/ --enable-force-cgi-redirect --enable-pcntl --with-imap=shared --with-imap-ssl --enable-mbstring=shared --enable-mbregex --with-gd=shared --enable-bcmath=shared --enable-dba=shared --with-db4=/usr --with-xmlrpc=shared --with-ldap=shared --with-ldap-sasl --with-mysql=shared,/usr --with-mysqli=shared --enable-dom=shared --with-pgsql=shared --enable-wddx=shared --with-snmp=shared,/usr --enable-soap=shared --with-xsl=shared,/usr --enable-xmlreader=shared --enable-xmlwriter=shared --with-curl=shared,/usr --enable-fastcgi --enable-pdo=shared --with-pdo-odbc=shared,unixODBC,/usr --with-pdo-mysql=shared --with-pdo-pgsql=shared,/usr --with-pdo-sqlite=shared,/usr --with-pdo-dblib=shared,/usr --enable-json=shared --enable-zip=shared --without-readline --with-libedit --with-pspell=shared --enable-phar=shared --with-mcrypt=shared,/usr --with-tidy=shared,/usr --with-mssql=shared,/usr --enable-sysvmsg=shared --enable-sysvshm=shared --enable-sysvsem=shared --enable-posix=shared --with-unixODBC=shared,/usr --enable-fileinfo=shared --enable-intl=shared --with-icu-dir=/usr --with-enchant=shared,/usr --with-libdir=lib64 --with-kerberos --with-sqlite=shared