ユーザ用ツール

サイト用ツール


サイドバー


linux:phpmyadmin-worker-prefork

phpmyadminが見れない Ubuntu 16.04 LTS

Ubuntu 16.04 LTS に phpmyadmin をインストールして、ブラウザからみてみたが、まったく見えない。

で、よくよく見なおしてみたら、apache2 の起動時にエラーが出ていた。

apache2_reload: Your configuration is broken. Not reloading Apache 2
apache2_reload: [Sat Jun 04 17:15:21.430652 2016] [:crit] [pid 3321:tid 140205380589440] Apache is running a threaded MPM, but your PHP Module is not compiled to be threadsafe.  You need to recompile PHP.
apache2_reload: AH00013: Pre-configuration failed
Job for apache2.service failed because the control process exited with error code. See "systemctl status apache2.service" and "journalctl -xe" for details.
invoke-rc.d: initscript apache2, action "reload" failed.

なになに、「Apache が、Theread MPM(Multi-Processing Modules) で動いているのに、あんたの PHP モジュールは Theradsafe でコンパイルされたもんじゃないよ。あんたは、PHP を 再コンパイルする必要があんね。」

なんだとー、、、

いきなり難題をぶつけられても対処できません。めんどくさがりですしー。

でも、動かないのは困るので、めんどくさがりなりに、調べてみると、

「Apacheでは、マルチプロセスのpreforkと、マルチプロセス+マルチスレッドのworkerを選択することができます。」

とのこと。どうやら、おいらの Apache2 は、一歩進んだ? worker で動いているらしい。worker で動くためには、Threadsafe でコンパイルされた PHP がいるそうな。。

だれじゃ、Apache2 を worker で動くように設定したのは? いままでこんな事態にはまったことないぞ、、もしかして、最新の Ubuntu 16.04 LTS なんて選んだのが駄目だったのか?

なになに、「worker で動かした方が、パフォーマンスが良い。」らしいです。

そんなこと言われても、パフォーマンスそんなにいらんし、PHP の再コンパイルなんて、めんどくさいしー。

で、対処したのが、Apache2 を prefork で動かす。です。

といっても、これも一筋縄ではいかなかった、、

めんどくさがりが、またちょっと調べて行きついたのは、

a2dismod mpm_event
a2enmod mpm_prefork
service apache2 restart

これですよ。これ。ネット見ると、他の設定ファイルいじる方法出てるけど、なんか同じじゃないし、いきついたのがこれ。なんとか、apache2 は、エラーなく起動できました。

ちなみに、prefork で動いていることは、以下のように確認です。

# apachectl -V | grep 'Server MPM'
Server MPM:     prefork

よしよし。phpmayadmin 見てみよっと。

見れないじゃん、、 なかなか、動いてくれないのね。。。

で、apache2 のエラーログをみてみやした。

PHP Fatal error:  require_once(): Failed opening required '/usr/share/php/php-gettext/gettext.inc' (include_path='.:/usr/share/php') in /usr/share/phpmyadmin/libraries/select_lang.lib.php on line 477

だそうです。なんのこっちゃ。

これみて、どうすればよいかわかる人は、いろいろ困らん人なのですよ。どうすりゃいいのか、わからんです。

で、Google先生のお世話になって、以下を一発。

apt-get install php-mbstring php7.0-mbstring php-gettext

で、結論。

おー、phpmyadmin やっと動いた。

何がどうなっているのかわからんけど、まいっか。めんどくさいし。

投稿日 : 2016/06/04

linux/phpmyadmin-worker-prefork.txt · 最終更新: 2020/05/05 01:29 by hohog

ページ用ツール