我正在尝试增加upload_max_filesize
等等以便使用 phpMyAdmin 导入更大的文件。
我已经更改php.ini
并重新启动了 Apache。我可以在 phpMyAdmin 导入屏幕上看到更改(其中提到最大值:300MiB),但是当我尝试导入 50MB 文件时,我收到了警报:
No data was received to import. Either no file name was submitted, or the file size exceeded the maximum size permitted by your PHP configuration. See FAQ 1.16.
知道这是怎么回事吗:一方面看起来变化已经生效,但另一方面它却不起作用......
答案1
解决方案复制自关联
如果您正在运行自己的 Ubuntu 服务器,您可能会遇到 php 脚本中的最大文件大小上传限制,默认设置为 2Mb。为了改变这种情况,我们首先看看实际大小是多少。在 /var/www(标准 www 目录)中创建一个名为 info.php 的文件,内容如下:
<?php
// Show all information, defaults to INFO_ALL
phpinfo();
?>
然后通过浏览到此文件本地主机/info.php(如果需要,用服务器名称替换 localhost)并查找以下行
upload_max_filesize 2M 2M
这将显示实际的最大文件大小。为了更改它,请打开到服务器的 ssh 连接,并使用以下命令编辑文件 /etc/php5/apache2/php.ini
sudo nano /etc/php5/apache2/php.ini
使用 Ctrl-W 搜索“upload_max_filesize”,并将“2M”更改为“20M”。使用 Ctrl-O 保存文件,然后使用 Ctrl-X 退出。使用以下任一方式重新启动 Apache 服务器
sudo /etc/init.d/apache2 restart
或者
sudo service apache2 restart
并重新启动 fpm:
sudo service php7.4-fpm restart
并再次访问本地主机/info.php检查最大文件大小是否已更改。如果您使用的不是 php 7.4,则显然需要将数字部分替换为您使用的 php 版本。
答案2
这是我的解决方案:https://stackoverflow.com/questions/8853301/phpmyadmin-file-import-error
我刚刚在自己的开发机器上修复了这个问题。在 /etc/phpmyadmin/apache.conf 中,您可以看到 phpmyadmin 尝试存储临时文件的位置,例如:
php_admin_value upload_tmp_dir /var/lib/phpmyadmin/tmp
确保运行 apache 的用户可写入此文件,并且有可用空间。就我而言,在我的开发机器上,我以自己的用户身份运行 apache,而不是以普通的 www-data 或 apache 用户身份运行。我的用户无法写入该 tmp 目录。
答案3
还有另外两种方法可以更改覆盖php.ini
设置。
使用
.user.ini
(仅适用于php-fpm
):警告:如果您将 PHP 作为 Apache 模块运行、从命令行运行或使用内置服务器运行,则不会处理 .user.ini 文件。
在您网站的主目录中创建
.user.ini
文件并在其中添加以下行:upload_max_filesize=300M post_max_size=300M memory_limit=300M
使用
.htaccess
文件或虚拟主机的配置文件(仅适用于libapache2-mod-php
):警告:此解决方案不适用于 PHP FPM。
如果您将 PHP 作为 Apache 模块运行,那么也可以
php.ini
从 Apache 的 vhost 配置或本地.htaccess
文件中覆盖设置。例如,您可以将这些添加到您的
.htaccess
:php_value upload_max_filesize 300M php_value post_max_size 300M php_value memory_limit 300M
答案4
我在 Ubuntu 上安装了 WordPress,在 Ubuntu 上运行的 PHP 版本 8.1、Apache2 上遇到了这个问题。
解决该问题的步骤:
- 通过登录到您的服务器
ssh
cd /etc/php/8.1/apache2
(将 8.1 替换为您的 php 版本)nano php.ini
- 按Ctrl+W并查找以下行:
upload_max_filesize
- 使用所需限制进行更新,例如:
upload_max_filesize = 512M
- 类似地寻找
post_max_size
并更新所需值。 - Ctrl+X然后按下Y以在 nano 编辑器中保存
- 运行命令:(
sudo systemctl restart apache2
重新启动Apache2)
再次检查限制,它将显示新设置的限制。