【Plamo7.1】PHPをソースからインストール/初期設定(4)

前記事のどうしても php に pdo_mysql.so が組み込めない件、結局 php をソースからインストールすることで組み込むことができました。


【Plamo7.1】PHP, MySQL/初期設定(3)



PHP のインストール

https://www.php.net/downloads.php

から安定版の 7.3.6 をもらってきます。


どこでもいいのですが、/usr/local/src とかに移動して作業します。configure のオプションは、Plamo 用のパッケージファイルのオプションを phpinfo から拾い、すべてつけてみました。

# wget https://www.php.net/distributions/php-7.3.6.tar.gz
# tar zxvf php-7.3.6.tar.gz
# cd php-7.3.6
# ./configure --prefix=/usr --sysconfdir=/etc --localstatedir=/var --mandir=${prefix}/share/man --with-libdir=lib --sysconfdir=/etc/php --with-layout=GNU --with-config-file-path=/etc/php --with-config-file-scan-dir=/etc/php/conf.d --disable-rpath --with-apxs2=/usr/bin/apxs --enable-bcmath=shared --enable-calendar=shared --enable-dba=shared --enable-exif=shared --enable-ftp=shared --enable-intl=shared --enable-mysqlnd --enable-mbstring=shared --enable-pcntl --enable-shmop=shared --enable-soap=shared --enable-sockets=shared --enable-sysvmsg=shared --enable-sysvsem=shared --enable-sysvshm=shared --enable-zip=shared --with-bz2=shared --with-curl=shared --with-gd=shared --with-jpeg-dir=/usr --with-png-dir=/usr --with-zlib-dir=/usr --with-webp-dir=/usr --with-gettext=shared --enable-gd-jis-conv --with-gmp=shared --with-iconv=shared --with-ldap=shared --with-pspell=shared --with-xmlrpc=shared --with-mhash --with-openssl --with-readline --with-zlib --with-gdbm --with-pcre-regex=/usr --with-libzip=/usr --with-enchant=shared,/usr --with-pdo-sqlite=shared,/usr --with-sqlite3=shared,/usr --with-freetype-dir=/usr --with-pdo-mysql=shared,mysqlnd --with-mysqli=shared,mysqlnd --with-mysql-sock=/run/mysqld/mysqld.sock
# make


make の途中、libharfbuzz.la や libgraphite2.la がないといって止まってしまいましたので、よくわからないままに、/var/local/la-files/ にあった libharfbuzz.la 等を /usr/lib/ にコピーして make しましたら最後まで通りました。


Build complete.
Don't forget to run 'make test'.

# make install

# make test は例によって途中で止まってしまいますが、構わずインストールしてみました。

(参照)【Plamo6.1】PHPをソースから再インストール


インストール完了ですが、ソースからインストールしますと httpd.conf に

#LoadModule php7_module        lib/httpd/modules/libphp7.so

を追加するようです。すでに Include /etc/httpd/extra/php7.conf で読み込んでいますのでコメントアウトします。


Webサーバを再起動し、php の組み込みを確認し php.ini を編集しようとしましたら、php.ini どころか、php.ini.dist もありません。こういうものでしたっけ?

結局、Plamo のパッケージから php.ini を /etc/php にコピーし、

extension_dir = "/usr/lib/php/20180731-zts"
extension=pdo_mysql
extension=mysqli

を追加、またはコメントアウトします。拡張モジュールのディレクトリ名は 20180731-zts となっていました。ついでに mysqli も組み込んでみました。


で、Webサーバーを再起動しましたら、無事、pdo_mysql.so, mysqli が読み込まれ、php からの接続テストも無事通りました。


phpMyAdmin が立ち上がらない

LAMP環境が構築できましたので、まずは phpMyAdmin を入れてみたのですが、まったく立ち上がりません。

原因を調べる時間がなく、あるいは LAMP環境が整っていないのかと、とりあえずコマンドラインからユーザとデータベースを作成し、Joomla を入れてみることにしました。


Joomla3.9.8 を入れてみる

$ mysql -u root -p

# で mysql に入り mysql のコマンドラインになるので

mysql > create database データベース名;

# でデータベースを作り

mysql > create user `ユーザ名`@`localhost` IDENTIFIED BY 'パスワード';

# でユーザーを作り

mysql > grant all privileges on データベース名.* to ユーザ名@localhost IDENTIFIED BY 'パスワード';

# で作成したデータベースにユーザの権限を与えます


で、Joomlaの最新バージョン 3.9.8 を入れてみました。


downloads.joomla.org


f:id:ausnichts:20190620172446j:plain

問題なくインストールできました。phpMyAdmin が立ち上がらないのはなぜなんでしょう? 次回調べてみましょう。