eAccelerator与两个版本的PHP通过FastCGI

好吧,我将概述如何在我的专用盒子上为我设置和运行一切。 我有一切工作接受eAccelerator只适用于我的一个PHP应用程序。

的Apache2

我有Apache2安装程序和虚拟主机运行。 Apache在/etc/apache2/php-version-5.2.conf有一个文件,当它需要运行PHP 5.2的时候,它将被包含在每个虚拟主机上:

 #include for sites that still need to run at php 5.2.x SetEnv PHP_INI_SCAN_DIR /opt/php5.2/conf.d/ ScriptAlias /php5-cgi /usr/lib/cgi-bin/php5-cgi Action application/x-httpd-php5 /php5-cgi <FilesMatch "\.php"> SetHandler application/x-httpd-php5 </FilesMatch> AddHandler application/x-httpd-php5 .php .php5 .php4 .php3 .phtml 

PHP

我已经从Debian repo安装了最新版本的PHP 5.3。 我还有一个PHP 5.2.17的编译版本,位于/opt/php5.2/ 。 为了编译PHP 5.2并让fastcgi传递给相应的PHP应用程序, 我遵循了这些指示 。 这根据需要工作。

eAccelerator在

eAccelerator正在使用Debian repo中的PHP 5.3,但是我无法将它加载到PHP 5.2的编译版本上。

我从源代码编译这两个PHP安装从这些指示 。

/etc/php5/apache2/conf.d/eaccelerator.ini我有:

 extension="eaccelerator.so" eaccelerator.shm_size="16" eaccelerator.cache_dir="/var/cache/eaccelerator" eaccelerator.enable="1" eaccelerator.optimizer="1" eaccelerator.check_mtime="1" eaccelerator.debug="0" eaccelerator.filter="" eaccelerator.shm_max="0" eaccelerator.shm_ttl="0" eaccelerator.shm_prune_period="0" eaccelerator.shm_only="0" eaccelerator.compress="1" eaccelerator.compress_level="9" 

/opt/php5.2/conf.d/eaccelerator.ini我有:

 ;extension="/opt/php5.2/lib/php/extensions/no-debug-non-zts-20060613/eaccelerator.so" ;zend_extension="/opt/php5.2/lib/php/extensions/no-debug-non-zts-20060613/eaccelerator.so" ;zend_extension_ts="/opt/php5.2/lib/php/extensions/no-debug-non-zts-20060613/eaccelerator.so" ;extension="eaccelerator.so" eaccelerator.shm_size="16" eaccelerator.cache_dir="/var/cache/eaccelerator-php-5.2" eaccelerator.enable="1" eaccelerator.optimizer="1" eaccelerator.check_mtime="1" eaccelerator.debug="0" eaccelerator.filter="" eaccelerator.shm_max="0" eaccelerator.shm_ttl="0" eaccelerator.shm_prune_period="0" eaccelerator.shm_only="0" eaccelerator.compress="1" eaccelerator.compress_level="9" 

的phpinfo();

phpinfo();的输出 在每个网站上都是如预期的,除了eAccelerator没有在PHP 5.2网站上启用。 然而,它在PHP 5.3网站上完美启用。

虚拟主机configuration

任何时候我需要一个站点来加载PHP 5.2,我只需加载前面提到的php-version-5.2.conf文件,否则站点默认为PHP 5.3。

你记得取消扩展负载的注释吗? 如图所示,该扩展未加载到/opt/php5.2/conf.d/eaccelerator.ini中