我正在禁用IIS并在Windows计算机上安装XAMPP。目标是使每个项目都能使用PHP 5.6和PHP 7。
我做了研究,发现this post,并开始执行以下步骤,以便可以为XAMPP服务器启用多个PHP版本。
但是,在完成所有操作(并尝试其他选择)之后,似乎没有任何效果。
我从here(5.6.8-src)下载了.zip
归档文件,并将其解压缩到XAMPP根目录中名为php56
的文件夹中。
此后,我编辑了.ini
文件以取消对extension_dir = "ext"
行的注释。然后,我打开httpd-xampp.conf
文件并将其添加到末尾(是的,文件夹名为xampp7
):
ScriptAlias /php56 "C:/xampp7/php56"
Action application/x-httpd-php56-cgi /php56/php-cgi.exe
<Directory "C:/xampp/php56">
AllowOverride None
Options None
Require all denied
<Files "php-cgi.exe">
Require all granted
</Files>
</Directory>
然后我进入我的httpd-vhosts.conf
文件并添加以下内容:
<VirtualHost localhost:80>
DocumentRoot "C:\www\php5"
ServerName server-php5.int
ErrorLog "logs/server-php5-error.log"
CustomLog "logs/server-php5-access.log" common
<Directory "C:\www\php5">
Options Indexes FollowSymLinks MultiViews
AllowOverride all
Order Deny,Allow
Allow from all
Require all granted
</Directory>
<FilesMatch "\.php$">
SetHandler application/x-httpd-php56-cgi
</FilesMatch>
</VirtualHost>
重新启动Apache并转到我新添加的主机后,只出现403错误,但是我不确定如何/为什么基于虚拟主机的其他经验。我无法执行任何chown
/ chmod
或任何其他有用的尝试来修改权限的操作-Windows机器是否还需要实际操作(我在{{中仔细检查了包括行1}}-不是那样吗?
有趣的是,如果我注释掉我的vhost文件中的httpd.conf
段并注释掉了我新添加的代码,那么一切都会按预期进行(除了,它在PHP7上)。