簡體   English   中英

Windows和php-fpm上的Apache

[英]Apache on windows and php-fpm


PHP 7.1
Apache 2.4 + mod_proxy_fcgi
Windows 10

我正在嘗試使用mod_proxy_fcgi在Windows上設置php-fpm + apache,但仍會出現錯誤。 誰能幫我配置apache。

我得到了php-fpm runnig,並驗證了它實際上可以使用nginx正常工作,因此php應該不是問題。


PHP-fpm在端口9123上運行。

這是我的虛擬主機配置:

<VirtualHost *:80>
    ServerName localhost
    DocumentRoot "${SRVROOT}/htdocs"
    <Directory "${SRVROOT}/htdocs">
        Options Indexes FollowSymLinks MultiViews
        AllowOverride All
        <FilesMatch "\.php$">
            SetHandler proxy:fcgi://127.0.0.1:9123
        </FilesMatch>
    </Directory>    
</VirtualHost>

這是錯誤:

代理錯誤

您的瀏覽器發送了該服務器無法理解的請求。 代理服務器無法處理請求GET /index.php/。

原因:無法解析URI:fcgi://127.0.0.1:9123C:/Apache24/htdocs/index.php*

有誰知道如何修理它 ?

我正在處理同一問題,並且找到了根本原因:最有可能我們倆都遵循了wiki.apache.org指南 所述指南中有一些錯別字。 對我們造成問題的是SetHandler之后缺少斜杠。 這是為我工作的配置:

LoadModule proxy_module modules/mod_proxy.so
LoadModule proxy_fcgi_module modules/mod_proxy_fcgi.so

<FilesMatch "\.php$">
    <If "-f %{REQUEST_FILENAME}">
        SetHandler "proxy:fcgi://localhost:9123/"
    </If>
</FilesMatch>

您是否嘗試過放置:

<FilesMatch "\.php$">
    SetHandler proxy:fcgi://127.0.0.1:9123
</FilesMatch>

目錄外? 就是 如果將該部分放在docroot指令和目錄指令之間,會發生什么情況?

問候,埃里克

嗨,嘗試一些類似的東西:

<FilesMatch "^/CHANGE_ME/.*\.php(/.*)?$">
    SetHandler proxy:fcgi://127.0.0.1:9123
</FilesMatch>

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM