服务器 Gind.cn

服务器问题集锦,包括 Linux(Ubuntu, Centos,Debian等)和Windows Server服务器

别名通过Action / ScriptAlias /等FastCGI代理协议处理程序

所以这不是让PHP工作,而是关于混合语法结构。 具体而言,我正在寻找一种方法来使用一个优雅的Action 速记绑定PHP-FPM在不同的虚拟主机。 所有工作选项: 你好, mod-fastcgi的方式: 以前我曾经使用FastCGIExternalServer和ScriptAlias等人的虚拟path: FastCGIExternalServer /www/fcgi/api5 -flush -socket /var/run/php-fpm-api.sock ScriptAlias /..A5.. /www/fcgi/api5 Action php5-api /..A5.. AddHandler php5-api .php 现在这既不是非常现代的,也不是很可读。 除了AddHandler php5-user部分。 这正是我想在整个configuration中继续使用的。 用于mod-proxy-fcgi的 ProxyPassMatch 对于PHP-FPM设置,通常首先推荐这种设置: ProxyPassMatch ^/(.*\.php(/.*)?)$ proxy:unix:/run/php-fpm.sock|fcgi://localhost 正则expression式匹配当然有它的魅力。 但它很容易干扰RewriteRule集。 所以这也不是最好的select。 SetHandler与<FilesMatch> 当然是更好和常见的select: <FilesMatch ".+\.ph(p[3457]?|t|tml)$"> SetHandler "proxy:unix:/run/php/php7.0-fpm.sock|fcgi://localhost" </FilesMatch> 但是我仍然认为这太冗长了,相比于AddHandler php7-whatever .php 带代理指定符的AddHandler 没有看到这个在Apache手册中的任何地方提到,也没有看到。 但是,您也可以使用更简单的AddHandler方法来映射.php文件: AddHandler "proxy:unix:/run/php-fpm.sock|fcgi://localhost" .php 这是我喜欢的东西。 但是我仍然需要在整个虚拟主机configuration中复制代理string。 当然,我可以使用Include一堆vhost / fpm-pool变体,我宁愿有预定义的名称。 […]