PHP7.0 にアップデートしました。
前々から試みてはプラグインが動作しない問題で挫折していたため、中途半端な状態からの開始… とりあえずの作業記録。
準備
サーバのバックアップ
Raspberry Pi ★ rsync でバックアップ(外付けHDD)
phpinfo
PHPの確認をするのにサーバのルートに phpinfo.php を作成し下記を記述
今後も置いておくため、NginxでIP制限をかけておく
$ sudo vi /usr /local /nginx /conf . d /80.conf
server {
listen 80 ;
server_name homemadegarbage . 0t0.jp ;
(中略)
# phpinfo
location /phpinfo . php {
allow 自分のローカルIP ;
deny all ;
proxy_pass http : //backend;
}
(中略)
}
構文チェック・再起動
$ sudo nginx -t
nginx : the configuration file /usr /local /nginx /conf /nginx . conf syntax is ok
nginx : configuration file /usr /local /nginx /conf /nginx . conf test is successful
$ sudo service nginx restart
phpinfoの画面(PHP7.0にアップデート後)
PHP7 インストール
apt-get update
PHP7.0 インストール
$ sudo apt -get install php7 . 0 php7 . 0 -dev php7 . 0 -fpm
Nginx の設定変更
php5-fpm.sock を php7.0-fpm.sock に変更
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
$ cat /usr /local /nginx /conf . d /8080.conf
server {
listen 8080 ;
server_name localhost ;
(その他設定中略)
location ~ /phpmyadmin /. *\ . php $ {
fastcgi_pass unix : /var /run /php /php7 . 0 -fpm . sock ;
# fastcgi_pass unix:/var/run/php5-fpm.sock;
fastcgi_index index . php ;
fastcgi_param SCRIPT_FILENAME /usr /share /$ uri ;
include fastcgi_params ;
}
# pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000
#
location ~ \ . php $ {
fastcgi_pass unix : /var /run /php /php7 . 0 -fpm . sock ;
# fastcgi_pass unix:/var/run/php5-fpm.sock;
fastcgi_index index . php ;
fastcgi_param SCRIPT_FILENAME $ document_root $ fastcgi_script_name ;
include fastcgi_params ;
}
}
構文チェック・再起動
$ sudo nginx -t
nginx : the configuration file /usr /local /nginx /conf /nginx . conf syntax is ok
nginx : configuration file /usr /local /nginx /conf /nginx . conf test is successful
$ sudo service nginx restart
WP プラグイン関連
WP管理画面やウェブサイトは無事表示されるものの、プラグイン関連で色々と表示されないところがある。
管理画面からプラグインを「無効」しようとしたら、ボタンを押した後に500 Error となってしまう。
ひとまずSSHでプラグインディレクトリの名前を変更して強制的に無効化していく。
デバッグモードON
WordPress のデバッグオードをONにする
sudo vi /WP パス/wp -config . php
WP_DEBUG の false を true へ 変更
define ( 'WP_DEBUG' , true ) ;
WP Multibyte Patch
再度プラグインページへアクセスし、プラグインの無効/有効ボタンを押すと、 WP Multibyte Patch のエラーが出ていた。
Fatal error : Uncaught Error : Call to undefined function mb_convert_kana ( ) in /WP パスs /wp -content /plugins /wp -multibyte -patch /ext /ja /class . php : 147
・・・・(以下略)
mbstring をインストール
sudo apt -get install php7 . 0 -mbstring
再起動
sudo service nginx restart
phpinfo.php で確認すると「Zend Multibyte Support」の項目が provided by mbstring になった。
変更したプラグイン名を直し、WP Multibyte Patch を 有効化。
Amazon JS
Amazon JS が動かない。php7.0-xml が必要な模様。
php7.0-xml インストール
sudo apt -get install php7 . 0 -xml
nginx 再起動
sudo service nginx restart
WordPress Popular Posts
Popular Posts プラグインの画像が表示されなかった。ImageMagik のインストールが上手くいかず調べていたところ php7.0-gd があれば動くとのこと。
php7.0-gd インストール
sudo apt -get install php7 . 0 -gd
nginx 再起動
sudo service nginx restart
PHP7.0にした結果
だいぶ早くなりました!!
表示が遅いため、WPログイン外からのアクセスにはリバースプロキシを使っていましたが、これならキャッシュ無しでも表示いけそう✌✌✌
リバースプロキシを設定したときの記事はこちらです。
Raspberry Pi 2 サーバー ★ 高速化 ② Nginx の Proxy Cashe を設定
捕捉メモ:ImageMagikについて
最初、ImageMagik をインストールしたけどそれでは Popular Posts プラグインの画像は表示されず…ちょっと理由がわからないのでとりあえずそのままにしている。
ImageMagik インストール
下記から最新バージョンをDL
http://www.imagemagick.org/download/
cd /usr /local /src /
sudo wget http : //www.imagemagick.org/download/ImageMagick-7.0.6-0.tar.gz
sudo tar xvfz ImageMagick -7.0.6 -0.tar.gz
cd ImageMagick -7.0.6 -0
. /configure
make
make install
make に結構時間がかかります。
Imagick インストール
cd /usr /local /src
sudo git clone -b phpseven --depth 1 https : //github.com/mkoppanen/imagick
cd imagick
sudo phpize
sudo . /configure
./configure の段階で下記エラー。
$ sudo . /configure
(中略)
checking ImageMagick MagickWand API configuration program . . . checking Testing /usr /local /bin /MagickWand -config . . . Doesn 't exist
checking Testing /usr/bin/MagickWand-config... Doesn' t exist
checking Testing /usr /sbin /bin /MagickWand -config . . . Doesn 't exist
checking Testing /opt/bin/MagickWand-config... Doesn' t exist
checking Testing /opt /local /bin /MagickWand -config . . . Doesn 't exist
configure : error : not found . Please provide a path to MagickWand -config or Wand -config program .
libmagickwand-dev をインストール
sudo apt -get install libmagickwand -dev
再度 ./configure
$ sudo . /configure
(中略)
config . status : creating config . h
config . status : executing libtool commands
make & install
sudo make
sudo make install
php.ini に追加
$ sudo vi /etc /php /7.0 /fpm /php . ini
(略)
extension =imagick . so
(略)
再起動
sudo service php7 . 0 -fpm restart
sudo service nginx restart
phpinfoにも表示されたけど、Popular Posts プラグインの画像は表示されず。
最後に…PHP5関連の削除
本来最初にやっておくべきなのか… この項目はあやふや、とりあえず記録。
dpkg -l | grep php で出てきた、PHP5関連を remove
sudo apt -get --purge remove php5
sudo apt -get --purge remove php5 -*
sudo apt -get autoremove
途中、phpmyadmin の「phpmyadmin 用データベースの再設定を dbconfig-common で行いますか? 」といったメッセージが出てきて、SSHから「はい」「いいえ」が選べず、Tab とか 矢印キー押しても変わらず…。スペースキー押したら進んで焦った… 大丈夫だったけどどうやってカーソル動かすんだ…。
dpkg -l | grep php でPHP5が出てこなくなったから大丈夫だと思う。
$ dpkg -l | grep php
ii php -common 1 : 49 ~ bpo8 +1 all Common files for PHP packages
ii php7 . 0 7.0.18 -1 ~ bpo8 +1 all server -side , HTML -embedded scripting language ( metapackage )
ii php7 . 0 -cli 7.0.20 -1 ~ bpo8 +1 armhf command -line interpreter for the PHP scripting language
ii php7 . 0 -common 7.0.20 -1 ~ bpo8 +1 armhf documentation , examples and common module for PHP
ii php7 . 0 -dev 7.0.20 -1 ~ bpo8 +1 armhf Files for PHP7 . 0 module development
ii php7 . 0 -fpm 7.0.20 -1 ~ bpo8 +1 armhf server -side , HTML -embedded scripting language ( FPM -CGI binary )
ii php7 . 0 -gd 7.0.20 -1 ~ bpo8 +1 armhf GD module for PHP
ii php7 . 0 -json 7.0.20 -1 ~ bpo8 +1 armhf JSON module for PHP
ii php7 . 0 -mbstring 7.0.20 -1 ~ bpo8 +1 armhf MBSTRING module for PHP
ii php7 . 0 -mysql 7.0.20 -1 ~ bpo8 +1 armhf MySQL module for PHP
ii php7 . 0 -opcache 7.0.20 -1 ~ bpo8 +1 armhf Zend OpCache module for PHP
ii php7 . 0 -readline 7.0.20 -1 ~ bpo8 +1 armhf readline module for PHP
ii php7 . 0 -xml 7.0.20 -1 ~ bpo8 +1 armhf DOM , SimpleXML , WDDX , XML , and XSL module for PHP
rc phpmyadmin 4 : 4.2.12 -2 +deb8u2 all MySQL web administration tool
(※あと php-pearと dh-php も動かないので削除した。)
サーバの再起動も問題ない。
参考にさせて頂きました