[英]<VirtualHost> in XAMPP with multiples PHP versions
我最近已经发布了一个关于在 Windows 10 上的 XAMPP 7.4.16 服务器上运行多个版本的 PHP 的问题。起初它工作正常并且没有问题。 它是这样工作的:
PHP 8 8088 端口PHP 7.4 80 端口(默认) PHP 7.3 8083 端口PHP 7.2 8082 端口PHP 7.1 8081 端口PHP 7.0 8080 端口PHP 5.6 8056 端口
现在我需要创建一个 VirtualHost 来将域与在 Zend Framework 中开发的应用程序相关联,但我没有成功。 它是用 PHP 5.6 开发的,我需要它来响应服务器上的 viderahome.local 域。
这是我的代码:
配置文件
LoadModule vhost_alias_module modules/mod_vhost_alias.so
httpd-xampp.conf
<IfModule env_module>
SetEnv MIBDIRS "C:/xampp/php/extras/mibs"
SetEnv MYSQL_HOME "\\xampp\\mysql\\bin"
SetEnv OPENSSL_CONF "C:/xampp/apache/bin/openssl.cnf"
SetEnv PHP_PEAR_SYSCONF_DIR "\\xampp\\php"
SetEnv PHPRC "\\xampp\\php"
SetEnv TMP "\\xampp\\tmp"
</IfModule>
LoadFile "C:/xampp/php/php7ts.dll"
LoadFile "C:/xampp/php/libpq.dll"
LoadFile "C:/xampp/php/libsqlite3.dll"
LoadModule php7_module "C:/xampp/php/php7apache2_4.dll"
<FilesMatch "\.php$">
SetHandler application/x-httpd-php
</FilesMatch>
<FilesMatch "\.phps$">
SetHandler application/x-httpd-php-source
</FilesMatch>
<IfModule php7_module>
PHPINIDir "C:/xampp/php"
</IfModule>
<IfModule mime_module>
AddType text/html .php .phps
</IfModule>
ScriptAlias /php-cgi/ "C:/xampp/php/"
<Directory "C:/xampp/php">
AllowOverride None
Options None
Require all denied
<Files "php-cgi.exe">
Require all granted
</Files>
</Directory>
<Directory "C:/xampp/cgi-bin">
<FilesMatch "\.php$">
SetHandler cgi-script
</FilesMatch>
<FilesMatch "\.phps$">
SetHandler None
</FilesMatch>
</Directory>
<Directory "C:/xampp/htdocs/xampp">
<IfModule php7_module>
<Files "status.php">
php_admin_flag safe_mode off
</Files>
</IfModule>
AllowOverride AuthConfig
</Directory>
<IfModule alias_module>
Alias /licenses "C:/xampp/licenses/"
<Directory "C:/xampp/licenses">
Options +Indexes
<IfModule autoindex_color_module>
DirectoryIndexTextColor "#000000"
DirectoryIndexBGColor "#f8e8a0"
DirectoryIndexLinkColor "#bb3902"
DirectoryIndexVLinkColor "#bb3902"
DirectoryIndexALinkColor "#bb3902"
</IfModule>
Require local
ErrorDocument 403 /error/XAMPP_FORBIDDEN.html.var
</Directory>
Alias /phpmyadmin "C:/xampp/phpMyAdmin/"
<Directory "C:/xampp/phpMyAdmin">
AllowOverride AuthConfig
Require local
ErrorDocument 403 /error/XAMPP_FORBIDDEN.html.var
</Directory>
Alias /webalizer "C:/xampp/webalizer/"
<Directory "C:/xampp/webalizer">
<IfModule php7_module>
<Files "webalizer.php">
php_admin_flag safe_mode off
</Files>
</IfModule>
AllowOverride AuthConfig
Require local
ErrorDocument 403 /error/XAMPP_FORBIDDEN.html.var
</Directory>
</IfModule>
用于在特定端口中运行某些 PHP 版本的虚拟主机
PHP 8.0 在 8088 端口
ScriptAlias /php_8.0 "C:/xampp/php_8.0"
<Directory "C:/xampp/php_8.0">
AllowOverride None
Options None
Require all denied
<Files "php-cgi.exe">
Require all granted
</Files>
</Directory>
Listen 8088
<VirtualHost *:8088>
UnsetEnv PHPRC
<FilesMatch "\.php$">
php_flag engine off
SetHandler application/x-httpd-php
Action application/x-httpd-php "/php_8.0/php-cgi.exe"
</FilesMatch>
</VirtualHost>
8083 端口中的 HP 7.3
ScriptAlias /php_7.3 "C:/xampp/php_7.3"
<Directory "C:/xampp/php_7.3">
AllowOverride None
Options None
Require all denied
<Files "php-cgi.exe">
Require all granted
</Files>
</Directory>
Listen 8083
<VirtualHost *:8083>
UnsetEnv PHPRC
<FilesMatch "\.php$">
php_flag engine off
SetHandler application/x-httpd-php
Action application/x-httpd-php "/php_7.3/php-cgi.exe"
</FilesMatch>
</VirtualHost>
PHP 7.2 端口 8082
ScriptAlias /php_7.2 "C:/xampp/php_7.2"
<Directory "C:/xampp/php_7.2">
AllowOverride None
Options None
Require all denied
<Files "php-cgi.exe">
Require all granted
</Files>
</Directory>
Listen 8082
<VirtualHost *:8082>
UnsetEnv PHPRC
<FilesMatch "\.php$">
php_flag engine off
SetHandler application/x-httpd-php
Action application/x-httpd-php "/php_7.2/php-cgi.exe"
</FilesMatch>
</VirtualHost>
PHP 7.1 在 8081 端口
ScriptAlias /php_7.1 "C:/xampp/php_7.1"
<Directory "C:/xampp/php_7.1">
AllowOverride None
Options None
Require all denied
<Files "php-cgi.exe">
Require all granted
</Files>
</Directory>
Listen 8081
<VirtualHost *:8081>
UnsetEnv PHPRC
<FilesMatch "\.php$">
php_flag engine off
SetHandler application/x-httpd-php
Action application/x-httpd-php "/php_7.1/php-cgi.exe"
</FilesMatch>
</VirtualHost>
PHP 7.0 在 8080 端口
ScriptAlias /php_7.0 "C:/xampp/php_7.0"
<Directory "C:/xampp/php_7.0">
AllowOverride None
Options None
Require all denied
<Files "php-cgi.exe">
Require all granted
</Files>
</Directory>
Listen 8080
<VirtualHost *:8080>
UnsetEnv PHPRC
<FilesMatch "\.php$">
php_flag engine off
SetHandler application/x-httpd-php
Action application/x-httpd-php "/php_7.0/php-cgi.exe"
</FilesMatch>
</VirtualHost>
PHP 5.6 在 8056 端口
ScriptAlias /php_5.6 "C:/xampp/php_5.6"
<IfModule actions_module>
Action application/x-httpd-php56-cgi "/php_5.6/php-cgi.exe"
</IfModule>
<Directory "C:/xampp/php_5.6">
SetEnv PHPRC "C:/xampp/php_5.6"
AllowOverride None
Options None
Require all denied
<Files "php-cgi.exe">
Require all granted
</Files>
</Directory>
Listen 8056
<VirtualHost *:8056>
<FilesMatch "\.php$">
SetHandler application/x-httpd-php56-cgi
</FilesMatch>
</VirtualHost>
httpd-vhost.conf
名称虚拟主机 *
<VirtualHost viderahome.local:8056>
DocumentRoot "D:\Dados\dados\htdocs\servicos\viderahome\www"
ServerName viderahome.local
ErrorLog "D:\Dados\dados\htdocs\servicos\viderahome\error.log"
CustomLog "D:\Dados\dados\htdocs\servicos\viderahome\access.log" combined
<Directory "D:\Dados\dados\htdocs\servicos\viderahome\www">
Order allow,deny
Allow from all
Require all granted
</Directory>
</VirtualHost>
主机文件
C:\\windows\\system32\\drivers\\etc\\hosts
127.0.0.1 viderahome.local www.viderahome.local
日志
[Wed Jun 30 08:31:41.565771 2021] [php7:notice] [pid 8356:tid 2060] [client 127.0.0.1:60483] PHP Notice: compact(): Undefined variable: extras in D:\\Dados\\dados\\htdocs\\servicos\\viderahome\\library\\Zend\\View\\Helper\\HeadLink.php on line 393
[Wed Jun 30 08:31:41.565898 2021] [php7:notice] [pid 8356:tid 2060] [client 127.0.0.1:60483] PHP Notice: compact(): Undefined variable: extras in D:\\Dados\\dados\\htdocs\\servicos\\viderahome\\library\\Zend\\View\\Helper\\HeadLink.php on line 393
[Wed Jun 30 08:31:41.565898 2021] [php7:notice] [pid 8356:tid 2060] [client 127.0.0.1:60483] PHP Notice: compact(): Undefined variable: extras in D:\\Dados\\dados\\htdocs\\servicos\\viderahome\\library\\Zend\\View\\Helper\\HeadLink.php on line 393
[Wed Jun 30 08:31:41.565898 2021] [php7:notice] [pid 8356:tid 2060] [client 127.0.0.1:60483] PHP Notice: compact(): Undefined variable: extras in D:\\Dados\\dados\\htdocs\\servicos\\viderahome\\library\\Zend\\View\\Helper\\HeadLink.php on line 393
[Wed Jun 30 08:31:41.597514 2021] [php7:error] [pid 8356:tid 2060] [client 127.0.0.1:60483] PHP Fatal error: Uncaught Zend_Session_Exception: Zend_Session::start() - D:\\Dados\\dados\\htdocs\\servicos\\viderahome\\library\\Zend\\Session.php(Line:477): Error #2 session_start(): Failed to read session data: files (path: /tmp) in D:\\Dados\\dados\\htdocs\\servicos\\viderahome\\library\\Zend\\Session.php:490\nStack trace:\n#0 D:\\Dados\\dados\\htdocs\\servicos\\viderahome\\application\\Bootstrap.php(84): Zend_Session::start()\n#1 D:\\Dados\\dados\\htdocs\\servicos\\viderahome\\library\\Zend\\Application\\Bootstrap\\BootstrapAbstract.php(669): Bootstrap->_initSession()\n#2 D:\\Dados\\dados\\htdocs\\servicos\\viderahome\\library\\Zend\\Application\\Bootstrap\\BootstrapAbstract.php(622): Zend_Application_Bootstrap_BootstrapAbstract->_executeResource('session')\n#3 D:\\Dados\\dados\\htdocs\\servicos\\viderahome\\library\\Zend\\Application\\Bootstrap\\BootstrapAbstract.php(586): Zend_Application_Bootstrap_BootstrapAbstract->_bootstrap('session')\n#4 D:\\Dados\\dados\\htdocs\\servicos\\viderahome\\library\\Zend\\Application.php(355): Zend_Application_Bootstrap_BootstrapAbstract->bootstrap(NU in D:\\Dados\\dados\\htdocs\\servicos\\viderahome\\library\\Zend\\Session.php on line 490
127.0.0.1 - - [30/Jun/2021:08:31:41 -0300] "GET / HTTP/1.1" 500 - "-" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/91.0.4472.124 Safari/537.36"
每次我在浏览器中运行 URL viderahome.local 时,它都指向我的 Web 服务器的根目录,而不是 Zend 应用程序文件夹。
可能缺少什么?
此致。
里卡多。
在配置文件的顶部有一个 SetEnv,其中 php 的路径是硬编码的。 删除此处定义的环境变量,以便 Apache 不会覆盖您的别名
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.