我需要将upload_max_filesize和post_max_size的值从默认的2M增加到10M。
(我需要为特定的vhost做这件事。在php.ini中全局更改值(对于所有vhost)不是一个选项。
在运行PHP7时,我在Apache2配置文件中为VirtualHost设置了以下内容。
php_value upload_max_filesize 10M
php_value post_max_size 10M升级到PHP 8之后,这些行就不再工作了。
我正在运行Ubuntu20.04,并使用以下PPA安装了PHP 8:
sudo add-apt-repository ppa:ondrej/php下面是我安装PHP的方式:
sudo apt install php
sudo apt install php-fpm
sudo apt install libapache2-mod-fcgid
sudo a2enmod actions fcgid alias proxy_fcgi检查状态:
sudo systemctl status php8.1-fpm
php8.1-fpm.service - The PHP 8.1 FastCGI Process Manager
Loaded: loaded (/lib/systemd/system/php8.1-fpm.service; enabled;
Active: active (running) since Sun 2022-08-28 15:32:37 UTC; 1min 30s ago
Docs: man:php-fpm8.1(8)
Main PID: 739 (php-fpm8.1)
[…]下面是配置文件的部分内容:
<VirtualHost *:80>
[…]
php_value upload_max_filesize 10M
php_value post_max_size 10M
<FilesMatch \.php$>:
SetHandler proxy:unix:/var/run/php/php8.1-fpm.sock|fcgi://localhost"
</FilesMatch>
[…]
</VirtualHost>在检查PHP配置时,我看到:
Directive Local value Master value
upload_max_filesize 2M 2M当使用PHP 8时,正确的方法是什么?
发布于 2022-10-05 11:37:04
您可以通过fpm运行php。fpm是apache通过套接字文件与之交互的单独进程。
与我的注释一样,您有两个选项来个性化php设置:
使用ini_set()
的
通过ini_set()是最快和最简单的方法,只需将以下内容添加到您管理上载的页面
ini_set('upload_max_filesize', '10M');
ini_set('post_max_size', '10M');第二个选项比较复杂,您需要配置一个新的fpm池。通过快速执行,只需复制现有的配置(通常在/etc/php/8.1/info.gov.hk.d中)并修改它。它们的重点是:
listen = /var/run/php/php8.1-fpm.sock至
listen = /var/run/php/php8.1-mysite-fpm.sock以及添加/修改
php_admin_value[upload_max_filesize] = 10M
php_admin_value[post_max_size] = 10M重新启动php-fpm并验证它是否没有出现错误。
然后让apache虚拟主机指向新的套接字。
<FilesMatch \.php$>:
SetHandler proxy:unix:/var/run/php/php8.1-mysite-fpm.sock|fcgi://localhost"
</FilesMatch>重新启动apache,它应该可以工作。
https://stackoverflow.com/questions/73959187
复制相似问题