Apache-2.2
作為 cgi 執行的多個 PHP 版本
我正在嘗試安裝 PHP 的第二個版本,以便與目前版本的 php 一起執行。我已經從 github (5.5-DEV) 編譯了最新的 php 原始碼,我正在嘗試將它作為 CGI 執行。
這是我的虛擬主機配置:
<VirtualHost *:8055> DocumentRoot /Library/WebServer/Documents/ ScriptAlias /cgi-bin/ /usr/local/php55/cgi Action php55-cgi /cgi-bin/php-cgi AddHandler php55-cgi .php <Directory /Library/WebServer/Documents/> Options Indexes FollowSymLinks Includes ExecCGI AllowOverride All Order Allow,Deny Allow from all </Directory> DirectoryIndex index.html index.php </VirtualHost>
但是當我轉到
http://127.0.0.1:8055/info.ph
p 時,我收到以下錯誤:禁止的
You don't have permission to access /cgi-bin/php-cgi/info.php on this server
編輯
我現在正在切換
LoadModule php5_module /usr/local/php54/libphp5.so
和
LoadModule php5_module /usr/local/php55/libphp5.so
它現在有效,但並不理想。我想在不同的虛擬主機上有不同版本的 php
您需要告訴 Apache 如何處理系統的新
/usr/local/php55
目錄。<Directory /usr/local/php55/cgi> Allow from all </Directory>
您可能需要在最後的分配中添加一個額外的“ / ”,或者可能會解析為
ScriptAlias``Action
Action php55-cgi /usr/local/php55/cgiphp-cgi
因此,您的 vhost 塊將讀取為:
<VirtualHost *:8055> DocumentRoot /Library/WebServer/Documents/ ScriptAlias /cgi-bin/ /usr/local/php55/cgi/ Action php55-cgi /cgi-bin/php-cgi AddHandler php55-cgi .php <Directory /usr/local/php55/cgi> Allow from all </Directory> <Directory /Library/WebServer/Documents/> Options Indexes FollowSymLinks Includes ExecCGI AllowOverride All Order Allow,Deny Allow from all </Directory> DirectoryIndex index.html index.php </VirtualHost>