8

私はシステム管理者ではなく、単なる開発者であることに注意してください。私とまったく同じ問題を抱えている人を見つけることはできません。彼らの「修正」はどれも機能していないようです。

現在、AmazonEC2インスタンスを実行しています。

CentOS 6.2
Nginx 1.2.2
PHP 5.3.16 with APC
Percona 5.5.24 // not currently using this as I am using an RDS

php.ini(/etc/php.ini)の設定を次のように設定しました

upload_max_filesize=10M
post_max_filesize=20M

php -issh経由で設定をリロードした後、これらの設定がロードされたようです。表示upload_max_filesize=10Mなど

phpinfo()またはを使用するとini_get、両方のオプションが次のように返されます。4M

phpinfo()編集中のファイルがロードされたファイルであることを示します(/etc/php.ini)。

また、どのファイルがロードされているかを確認するために実行php -i | grep "\.ini"しましたが、不要なロード済み構成はありません。ロードされた各ファイルを個別に調べて、内部に設定がないことを確認しました。

さらに、.user.ini設定ファイルを使用することをお勧めします。これも値を変更しませんでした。

ini_set()どちらも動作しません。

私は少し途方に暮れています。

編集:これが役立つかどうかはわかりませんが、私はこのAMIを使用していますhttp://megumi-cloud.com/

4

8 に答える 8

14

ファイル名:

nginx/sites-available/default

追加:

location ~ \.php$ {
      fastcgi_param PHP_VALUE "upload_max_filesize = 50M \n post_max_size=51M";
}

実行:コマンドラインから:sudo service nginx restart

于 2015-06-09T09:52:47.527 に答える
5

次のようなコマンドを実行してみてください。

php --ini

どのiniファイルがphpによってロードされているかが表示されます。

出力例:

[admin@staging ~]$ php --ini
Configuration File (php.ini) Path: /usr/local/etc
Loaded Configuration File:         /usr/local/etc/php.ini
Scan for additional .ini files in: /usr/local/etc/php
Additional .ini files parsed:      /usr/local/etc/php/extensions.ini
于 2012-11-08T10:13:51.173 に答える
3

私はAMIを作った人たちと連絡を取り、それを上書きする追加の構成ファイルがあることを知りました。php.ini

設定を保持する2つのファイルがあります

/etc/php-fpm.d/www.conf // This is the file which holds upload_max_filesize and post_max_size, among others
/etc/php-fpm.conf

明らかに、場所は構成によって異なる場合がありますが、これが誰かに他に何を探すべきかについてのアイデアを与えるのに役立つことを願っています。

于 2012-11-08T10:09:27.203 に答える
2

php.iniファイルでこれらの値を明示的に設定し、PHPスクリプトを実行したときにそれらが同じでない場合は、何かがそれらをオーバーライドしています。PHP情報のCLIバージョンに新しい設定が表示されるため、php.iniの設定が正しいことがわかります。

私もphp-iを実行しました| grep ".ini"を使用して、ロードされているファイルを確認します。不要なロード済み構成はありません。ロードされた各ファイルを個別に調べて、内部に設定がないことを確認しました。

これは素晴らしいことですが、アプリケーションではなく、PHPCLIからロードされた.iniファイルを示しています。

出力の追加の.iniファイルの解析セクションをチェックしphpinfo()て、Webサーバーからロードされているファイルを正確に確認する必要があります。それらのファイルの1つは、設定を上書きしています。

最後に、これらのファイルのいずれも原因ではないことが判明した場合はini_set()、プロジェクトでグローバル検索を実行して、不正なスクリプトがこれらの値を設定していないことを確認する必要があります(役立つようにしてください)。

掘り続けてください、あなたはそれらの2つの場所のうちの1つで犯人を見つけるでしょう。

于 2012-11-07T16:38:50.370 に答える
1

PHPアプリケーションがアップロードファイルのサイズについて不平を言うのと同じ問題がありました。コマンドlilneバージョンのphp(php --ini)を使用して、php.iniファイルを/etc/php5/cli/php.iniと決定しました。

php-infoで設定を確認しました。しかし、それでもアプリケーションは私に同じエラーを出しました。PHPにはCLIとApacheで異なるiniファイルがあることがわかりました。/ etc / php5フォルダーを確認します。このフォルダーにはapache2フォルダーとcliフォルダーがあり、内部に個別のiniファイルがあります。/etc/php5/cli/php.iniを編集して、apache設定を変更するだけです。

于 2014-04-17T07:19:48.450 に答える
0

Webサーバーを再起動します。それがあなたがする必要があるすべてです。

于 2014-02-18T07:12:44.957 に答える
0

私はシステム管理者ではなく、単なる開発者であることに注意してください。私とまったく同じ問題を抱えている人を見つけることはできません。彼らの「修正」はどれも機能していないようです。

私は同じボートに乗って、同じ問題を抱えていましたが、彼らは関係していたことがわかりました!

増やす行を含めましたがupload_max_filesizepost_max_sizeこれらは無視されphpinfo()、デフォルト値を返していました。私はApacheを再起動し、追加の.iniファイルがロードされていることを喜んでチェックしました。

解決策は、ファイルの先頭近くでこれらのパラメーターを増やすために行を追加し、後で同じファイルで上書きされることでした。

したがって、この問題が発生している場合は、私と同じ愚かな間違いを犯していないことを確認しCtrl-F、宣言の元のインスタンスを見つけて、独自のインスタンスを追加するのではなく、それを編集してください;)

于 2016-03-03T17:05:38.580 に答える
0

ここですでに述べたのと同様です。Ubuntu16.04ではsystemctl reload php7.0-fpm、変更をupload_max_filesize有効にするために行いました。nginxをリロード/再起動する必要はありませんでした。

(php7.0は私のマシンにインストールされているPHPの現在のバージョンでした。)

于 2020-08-30T21:01:38.633 に答える