php - 如何将 PHP-FPM 与别名目录一起使用
问题描述
我正在尝试将我的 Centos 7 服务器从PHP5 升级到 PHP7,而且似乎也建议使用 fpm 方法(我是新手)。
在我的测试服务器上,我已经安装了PHP7.3没问题,和 PHP-FPM。并添加行
ProxyPassMatch ^/(.*\.php(/.*)?)$ fcgi://127.0.0.1:9000/my_doc_root/$1
作品....有点。
问题是,由于历史原因和我无法控制的原因,我有各种路径别名为 /,但它们不在文档根目录中。IE
Alias /myURL /some/different/path
显然问题是ProxyPassMatch
上面的命令会将“myURL/fish.php”重定向到一个不存在的文件(“my_doc_root/fish.php”),这会给出错误。
这个问题有简单的解决方案吗?例如,我可以在<Directory>
文档根目录和some/different/path
. 或者,有没有一种方法可以更新/etc/https/conf.d/php.conf
(从 PHP5 开始)以旧式方式运行 PHP7?我不认为我可以,因为php73包中没有 libphp 文件。
显然有解决方案(ProxyPassMatch
为不在文档根目录中的每个 URL 编写单独的指令,或者以更智能的方式重组整个文件系统),但如果可以的话,我宁愿避免这些;确实,后者我根本做不到。
解决方案
尝试将您的别名放在ProxyPassMatch
指令之前,因为如果它首先找到,那么别名将被忽略。
Alias /myURL /some/different/path
<Directory "/some/different/path/">
AllowOverride All
require ip 127.0.0.1
</Directory>
更新可能这会帮助你https://serverfault.com/questions/629099/apache-2-4-php-fpm-mod-proxy-fcgi-alias
推荐阅读
- ansible - 从 Windows 主机到控制节点的 Ansible win_copy 属性文件将破折号更改为未知字符
- salt-stack - 在 Salt 的 gitfs 中挂载一个 git 存储库而不搜索状态模块
- rxjs - 为什么 mapTo 只改变一次?
- logback - SLF4J LogBack - 多个记录器和附加器
- node.js - npm install json-server -g 不工作
- installshield - 如何在 InstallShield 2019 中检查服务器操作系统是否为 Windows Server 2019?
- python - TensorFlow 给出与 Keras 不同的预测
- firebase - 如何在 Firestore 上正确构建数据结构
- mysql - 应该在 where 子句中传递什么值以忽略它
- asp.net - 如何从托管在 iis 上的 Wappalyzer 隐藏 asp.net 技术?