簡體   English   中英

php 7 php.ini upload_max_filesize 不工作

[英]php 7 php.ini upload_max_filesize not working

我在互聯網上閱讀了許多解決方案,但仍然無法更改upload_max_filesize值( upload_max_filesize始終 = 2M )

這是我在phpinfo()中加載的php.ini

Configuration File (php.ini) Path         /etc/php/7.0/apache2
Loaded Configuration File                    /etc/php/7.0/apache2/php.ini
Scan this dir for additional .ini files      /etc/php/7.0/apache2/conf.d 
upload_max_filesize 2M  2M
post_max_size   8M  8M

這是我在/etc/php/7.0/apache2/php.ini中編輯的php.ini

; http://php.net/post-max-size
post_max_size = 86M
; http://php.net/upload-max-filesize
upload_max_filesize = 40M

im using ubuntu 14.04,apache2,php7.0 (I have reset apache2 many time after each change in php.ini )

我修復了 PHP-FPM 7.1

編輯你的 php.ini

/etc/php/7.1/fpm/php.ini

更改您想要的任何選項,post_max_size、upload_max_filesize、max_execution_time 等等...

保存並關閉文件。

須藤服務 php7.1-fpm 重啟

它會起作用!

我有一個其他的修復方法。 操作系統:ubuntu 16.04 phpversion:7.0

我創建了一個phpinfo.php文件,其中包含:

<?php phpinfo() ?>

將 phpinfo.php 文件放在您網站的根目錄 www.mywebsite.com/phpinfo.php

導航到它並查找該行:

加載的配置文件:/etc/php/7.0/cgi/php.ini

現在您知道加載了什么 php.ini 文件。

ssh 進入服務器並使用您最喜歡的編輯工具(我的是 nano)來調整 php.ini

更改值以滿足您的偏好。

post_max_size = 128M

upload_max_filesize = 64M

保存並關閉文件。

重啟apache

sudo service apache2 restart

__

如果新值已設置,請檢查 phpinfo.ini。

如果他們這樣做了,你就可以走了。

我發現了!

在我加載的php.ini配置中,我的error_reporting值為E_ALL & ~E_NOTICE & ~E_STRICT & ~E_DEPRECATED -> 這是錯誤的!,所以我將其更改為

error_reporting: E_ALL然后重啟 apache2 服務器,現在一切正常!


所以請注意:如果php.ini有任何錯誤,它將使用默認值(這意味着upload_max_filesize總是2M

對於php7.2-fpm

Ubuntu php-fpm位於/etc/php/7.2/fpm所以

  1. cd /etc/php/7.2/fpm
  2. sudo nano php.ini
  3. 搜索post_max_size = 512M並添加您真正需要的收藏大小
  4. 搜索upload_max_filesize = 512M並添加您真正需要的收藏大小
  5. 保存文件
  6. 最后不要忘記重啟 PHP7.2-FPM 重啟sudo service php7.2-fpm restart

僅此而已!

我還發現重新啟動 httpd 服務並沒有發現加載的配置文件(Fedora 29 上的/etc/php.ini )中的更改。 列出所有 systemd 單元並為字符串“php”做一個 grep 是值得的:

# systemctl list-unit-files | grep php
php-fpm.service

重新啟動 php-fpm 對我有用:

# systemctl restart php-fpm

我正在使用 Nginx,我的解決方案是重新啟動 php-fpm。

重新啟動 Nginx 沒有做任何事情。

sudo service php7.2-fpm restart

我也有這個問題!

如果你使用的是 php-fpm 服務需要找到 php-fpm.conf 並添加一行

php_admin_value[upload_max_filesize] = 100M

用於更改其他類型的值

#just for example
php_flag[display_errors] = off
php_admin_value[error_log] = /var/log/fpm-php.www.log
php_admin_flag[log_errors] = on

大多數人都忘記通過終端重新啟動他們的 php,這就是它不起作用的原因,如果您認為自己已經正確完成了所有操作,請務必重新啟動您的 php 和服務器。

是的,其實我忘了正確重啟。

sudo service apache2 重啟是不夠的

首先將配置添加到/etc/php/7.1/fpm/php.ini/etc/php/7.1/cli/php.ini
#/php/ - 那么你的 php 版本在這里而不是“7.1”實際上這些配置文件之一是活動的(如果你想看看在indextest.php文件中使用<?php phpinfo() ?>命令並檢查它瀏覽器)然后根據您的需要更改每個文件上的這些參數:

post_max_size = 512M
upload_max_filesize = 512M

然后使用以下命令重新啟動php服務器:

sudo service php7.0-fpm restart #php<then your php version here> instead "7.0"

sudo /etc/init.d/php7.1-fpm restart  #php<then your php version here> instead "7.1"

現在您應該能夠看到上傳大小的變化。 干杯!

如圖這里你可以了解更多關於PHP服務器controlls:

$ sudo service php7.0-fpmstart # <- restart it
$ sudo service php7.0-fpm stop # <- restart it
$ sudo service php7.0-fpm restart # <- restart it
$ sudo service php7.0-fpm reload # <- reload it

在花了幾個小時閱讀論壇后,我已經解決了這個問題:

cd /etc/php
find . -name "*.ini" | xargs grep -il upload_max_filesize
./7.1/apache2/php.ini
./7.1/mods-available/better.ini
./7.1/cgi/php.ini
./7.1/cli/php.ini
./7.1/phpdbg/php.ini
./7.1/fpm/conf.d/20-better.ini
./7.1/fpm/php.ini
./7.1/embed/php.ini

更改./7.1/fpm/conf.d/20-better.ini 中的upload_max_filesize 然后

/etc/init.d/php7.1-fpm restart

現在 phpinfo 報告: upload_max_filesize 10G 10G

希望這會有所幫助。

對於那些擁有其他答案中提到的所有明顯設置的人來說,PHP 文件上傳仍然無法正常工作。

檢查 php.ini 中的open_basedir值。 如果設置了一個值(出於安全原因應該這樣做),請確保/tmp包含在那里。 或者在upload_tmp_dir選擇一個自定義值並相應地設置open_basedir

然后重新加載 FPM 服務。

我按照此處的步驟MacOS Big Sur 上安裝了多個版本的 PHP

我使用了命令:

sudo /usr/local/bin/httpd -k restart

加載對 php.ini 文件所做的更改。

將 SQL 文件導入 Mysql DB 時沒有任何作用,我使用Mysql命令行解決了它

sudo mysql -u {username} -p

我的情況是sudo mysql -u root -p

然后輸入你的password

>use mysql;
mysql> use db_name;
mysql> source /dir_to/file_name.sql;

在項目的根目錄中創建兩個不同的文件(如果您是 Wordpress 用戶,它是根 public_html 文件夾)。一個是php.ini和第二個是.user.ini然后只需將這兩行代碼添加到兩個文件。

upload_max_filesize = 20M
post_max_size = 20M

不要忘記重新啟動服務器。 並確保 user.ini 文件必須以點 ( . ) 開頭

systemctl restart apache2

就我而言,我編輯了錯誤的。 事實證明我應該修改這個/etc/php/7.2/apache2/php.ini這樣做之后,它起作用了!

打開您的膩子或 bitvise ssh 客戶端登錄您的服務器

sudo apt update

在那之后

cd /etc/php/7.4/apache2/

請參閱下面的命令列表

ls -ltr

output

total 76
drwxr-xr-x 2 root root  4096 Sep  4 14:31 conf.d
-rw-r--r-- 1 root root 72540 Sep  7 09:28 php.ini

打開 php.ini 輸入以下命令

 sudo nano php.ini

向下移動 Arow 直到找不到下面的代碼

upload_max_filesize = 20M

將 20MB 更改為所需的上傳大小 按 ctrl+s 保存 php.ini 並退出到編輯器到命令提示符熱 ctrl+x 之后重新加載 apache2 打下面的命令

sudo systemctl reload apache2

快樂編碼

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM