我在 Debian 测试中,Php 7.4 似乎是当前的版本。这对我来说没问题,因为我的大多数 Apache 服务应用程序都很好,但其中两个坏了。一个是 Wallabag,另一个是 InvoiceNinja
我按照一些教程来运行Php7.3 和7.4并排。我可以启用7.3但这打破了所有的7.4像 Nextcloud 18 这样的应用程序。
这是我关注的页面
我认为如果我使用子域名来管理应用程序,这种方法应该可行,但我没有这样做,例如 Wallabag 的运行方式如下
https://DOMAIN/wallabag
我有以下用于 Apache 的自定义站点文件(通常需要在路径下运行),只要我恢复到 7.3 或 7.2,它就能正常工作。
Alias /wallabag "/var/www/html/wallabag/web/"
<Directory "/var/www/wallabag/web">
AllowOverride None
Order Allow,Deny
Allow from All
Require all granted
<IfModule mod_rewrite.c>
Options -MultiViews
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(.*)$ app.php [QSA,L]
</IfModule>
############# UNCOMMENTING THESE DO NOT HELP
### <FilesMatch \.php$>
### SetHandler "proxy:unix:/var/run/php/php7.3-fpm.sock|fcgi://localhost/"
### </FilesMatch>
</Directory>
<Directory /var/www/html/wallabag/web/bundles>
<IfModule mod_rewrite.c>
RewriteEngine Off
</IfModule>
</Directory>
我还添加了必要的 php7.3 行在上述配置中(7.4 是系统中活动的 php),但这似乎对我没有帮助。它只是让阿帕奇将 7.3 用于一切。我无法将这些行放入正确的配置行中。请参阅上面的注释行。
uname -ra
Linux 5.4.0-4-amd64 #1 SMP Debian 5.4.19-1 (2020-02-13) x86_64 GNU/Linux
apache2 -v
Server version: Apache/2.4.43 (Debian)
Server built: 2020-03-31T06:02:12
systemctl status php7.4-fpm.service
php7.4-fpm.service - The PHP 7.4 FastCGI Process Manager
Loaded: loaded (/lib/systemd/system/php7.4-fpm.service; enabled; vendor preset: enabled)
Active: active (running) since Sun 2020-04-26 02:22:15 CDT; 3 days ago
systemctl status php7.3-fpm.service
php7.3-fpm.service - The PHP 7.3 FastCGI Process Manager
Loaded: loaded (/lib/systemd/system/php7.3-fpm.service; enabled; vendor preset: enabled)
Active: active (running) since Wed 2020-04-29 10:43:23 CDT; 23min ago
ls -alh /var/run/php/php7.3-fpm.sock
srw-rw---- 1 www-data www-data 0 Apr 29 10:43 /var/run/php/php7.3-fpm.sock
基本上我希望能够使用 7.3 来运行某些特定 apth 下运行的应用程序,例如/wallabag