ブルーシュ

IT技術の勉強記録

ホーム > Tips > Linux > サーバーサイド

「mysqli拡張がありません」と「413 Request Entity Too Large」の突破手順

使用環境

上記の環境でphpMyAdminを入れたら、「mysqli拡張がありません」という表示が出たのでその対処法。

まずはLaravelでphpinfoを見れるようにする

Laravelをインストールしてあるディレクトリのroutes/web.phpに追加

Route::get('/phpinfo', function () {
	phpinfo();
});

mysqli拡張をインストール

SSHでコマンド入力。

sudo apt-get install php-mysqli

php.iniを編集

先ほど設置したphpinfoページでphp.iniを検索するとパスが分かる。
SSHでコマンド入力。nanoツールで編集します。

sudo nano /path/to/php.ini

ctrl wmysqliを検索。
;extension=mysqliの先頭の;を削除して有効化する。
ctrl o ⇒ エンターキーで上書き保存。
ctrl xでnanoツールを抜ける。

PHP-FPMを再読み込み

ApacheではなくNginxなので、sudo systemctl restart apache2は効かない。

まずはSSHでPHP-FPMの名前を確認する。

systemctl list-units | grep php

そうするとphp8.1-fpm.serviceというのが出てきた。これをマウスで選択してctrl cでコピー。手ごたえはないが、これでコピーできている。
 
次に、再読み込み。

sudo systemctl restart php8.1-fpm.service

最後の部分をさっき確認したPHP-FPM名で置き換える。

ここでファイルインポートしようとしたら、
🌟413 Request Entity Too Largeが出た🌟

nginxのclient_max_body_sizeを変更

nginxの設定ファイルは、chatGPT様のお告げによると、
/etc/nginx/nginx.conf、/etc/nginx/conf.d/、または/etc/nginx/sites-available/ディレクトリ内にあります。設定ファイルの具体的な場所は、サーバーの設定により異なることがあります。だそう。

私の場合は、/etc/nginx/sites-available/ドメイン名にあった。
先ほどと同じ要領で、

sudo nano /etc/nginx/sites-available/ドメイン名

で設定ファイルを編集する。

server{
}

のところに、

client_max_body_size 10M;

と追加する。

php.iniを編集

mysqliの設定を編集したのと同じ要領でphp.iniを再度編集し、post_max_sizeupload_max_filesizeの数字を変更します。

sudo nano /path/to/php.ini

デフォルトはたぶん2Mなので必要なサイズの数字に変更する。

再起動

nginxを再起動。

sudo systemctl restart nginx

 
PHPも再起動。

sudo systemctl restart php8.1-fpm.service

※末尾は前述のように調べて置き換え。

phpinfoページを確認すると、反映されています。

「mysqli拡張がありません」と「413 Request Entity Too Large」の突破手順 #サーバーサイド #ウェブデザイン #ウェブ制作 #WEBデザイン #WEB制作

作者の似顔絵

プログラミング歴19年🌈調べたことをブログにまとめていきます。
記事の感想・質問・間違い指摘などはツイッター ( @blooshcompany ) へお願いします。

秋田のウェブ活用をサポート

ホームページを自作してコスト削減!秋田の事業者は無料で利用できます。
ネットショップ・WordPress・SEO対策などさまざまなお悩みをサポートします。

その他、フロントエンド案件のご依頼はインフォメーション

秋田市 レンタル着物 笹パンダ堂のバナーリンク