小编apf*_*box的帖子

Apache 2.4 + PHP-FPM + ProxyPassMatch

我最近在本地机器上安装了 Apache 2.4,以及使用 PHP-FPM 的 PHP 5.4.8。

一切都很顺利(过了一会儿......)但仍然有一个奇怪的错误:

我像这样为 PHP-FPM 配置了 Apache:

<VirtualHost *:80>
    ServerName localhost
    DocumentRoot "/Users/apfelbox/WebServer"
    ProxyPassMatch ^/(.*\.php(/.*)?)$ fcgi://127.0.0.1:9000/Users/apfelbox/WebServer/$1
</VirtualHost>
Run Code Online (Sandbox Code Playgroud)

它有效,例如,如果我打电话给http://localhost/info.php我得到正确的phpinfo()(它只是一个测试文件)。

但是,如果我调用目录,则会File not found.在错误日志中收到带有正文的 404 :

[Tue Nov 20 21:27:25.191625 2012] [proxy_fcgi:error] [pid 28997] [client ::1:57204] AH01071: Got error 'Primary script unknown\n'
Run Code Online (Sandbox Code Playgroud)

更新

我现在尝试使用 mod_rewrite 进行代理:

<VirtualHost *:80>
    ServerName localhost
    DocumentRoot "/Users/apfelbox/WebServer"

    RewriteEngine on    
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteRule ^/(.*\.php(/.*)?)$ fcgi://127.0.0.1:9000/Users/apfelbox/WebServer/$1 [L,P]
</VirtualHost>
Run Code Online (Sandbox Code Playgroud)

但问题是:它总是重定向,因为http://localhost/自动http://localhost/index.php请求,因为

DirectoryIndex index.php index.html
Run Code Online (Sandbox Code Playgroud)

更新 2 …

php-fpm apache-2.4

35
推荐指数
2
解决办法
10万
查看次数

标签 统计

apache-2.4 ×1

php-fpm ×1