WordPressでテンプレートインストール時に「辿ったリンクは期限が切れています。」というエラーでテンプレートがインストールできない。。php.iniもデフォルトでアップトード可能なサイズリミットでエラーかなと思いつつphp.iniを修正しました。
環境
$ cat /etc/lsb-release
DISTRIB_ID=Ubuntu
DISTRIB_RELEASE=24.04
DISTRIB_CODENAME=noble
DISTRIB_DESCRIPTION="Ubuntu 24.04 LTS"
ii apache2 2.4.58-1ubuntu8.4 amd64 Apache HTTP Server
ii libapache2-mod-php8.3 8.3.6-0ubuntu0.24.04.3 amd64 server-side, HTML-embedded scripting language (Apache 2 module)
・・・
修正対象のphp.iniの場所を確認
コマンドラインで確認すると cli をなる
$ php --ini | more
Configuration File (php.ini) Path: /etc/php/8.3/cli
Loaded Configuration File: /etc/php/8.3/cli/php.ini
Scan for additional .ini files in: /etc/php/8.3/cli/conf.d
Additional .ini files parsed: /etc/php/8.3/cli/conf.d/10-mysqlnd.ini,
・・・
WordPressはWEB経由となるので cli のphp.iniを修正してもWEBには反映されませんおで注意が必要です!
$ pwd
/etc/php/8.3/apache2
$ ls -al
total 84
drwxr-xr-x 3 root root 4096 May 28 2024 .
drwxr-xr-x 5 root root 4096 May 28 2024 ..
drwxr-xr-x 2 root root 4096 May 28 2024 conf.d
-rw-r--r-- 1 root root 73718 Apr 16 2024 php.ini <<< 修正対象
post_max_size 修正

エラーとしては以下です。
辿ったリンクは期限が切れています。
PHPのアップロードしたファイルサイズの上限設定の”post_max_size”の値を変更します。
post_max_size = 8M
アップロード対象ファイルのサイズを確認し少し余裕をもった値に修正します。今回はサイズが25MBytesでしたので30MBytesで設定しました。
post_max_size = 30M
php.iniの修正後は必ずapacheの再起動を行う必要があります。
再起動を忘れるとphp.iniを修正したのにエラーが直らず出続けます。
$ sudo systemctl reload apache2.service
upload_max_filesize 修正
post_max_size の修正で別のエラーが出た場合は upload_max_filesize の値を修正が必要です。

エラーとしては以下です。
アップロードされたファイルが php.ini の upload_max_filesize ディレクティブを越えています。
php.iniファイルに”upload_max_filesize”という項目があり、この項目が上限のファイルサイズが設定されておりこの値を変更します。私の環境では2MBytesになっていたので、とりあえず25MBytesに変更しました。
upload_max_filesize = 8M
変更後
upload_max_filesize = 25M
php.iniの修正後は必ずapacheの再起動を行う必要があります。
再起動を忘れるとphp.iniを修正したのにエラーが直らず出続けます。
$ sudo systemctl reload apache2.service
upload_max_filesize と post_max_size の違い
php.iniの”upload_max_filesize”と”post_max_size”の違いは、公式のドキュメンテーションによると
- upload_max_filesize
アップロードされるファイルの最大サイズ - post_max_size
POSTデータに許可される最大サイズ
注意点として、post_max_sizeの値はupload_max_filesizeより大きく設定する必要があります。また、”memory_limit”をpost_max_sizeよりも大きくする必要があります。
コメント