8回目-7.PHP 7.0.27 インストール

さくらVPSCentOS 7 2週間無料のお試し期間 8回目

一覧

 状態:-  閲覧数:611  投稿日:2018-03-11  更新日:2018-03-22

内容


PHP7インストール
PHP7設定
www.conf設定編集 / php-fpm設定編集
PHPスクリプトの動作確認失敗
エラー対応 / *1 connect() to unix:/var/run/php-fpm.sock failed (13: Permission denied)
www.conf設定を変更したら、php-fpmの再起動が必要

PHP7インストール

 閲覧数:136 投稿日:2018-03-11 更新日:2018-03-16 

epelリポジトリを有効にする


$ sudo -s
[sudo] password for ★★:


# yum install -y epel-release.noarch
読み込んだプラグイン:fastestmirror, langpacks
base                                                                                                                                  | 3.6 kB  00:00:00    
epel/x86_64/metalink                                                                                                                  | 7.2 kB  00:00:00    
extras                                                                                                                                | 3.4 kB  00:00:00    
nginx                                                                                                                                 | 2.9 kB  00:00:00    
updates                                                                                                                               | 3.4 kB  00:00:00    
Loading mirror speeds from cached hostfile
* base: ftp.iij.ad.jp
* epel: ftp.iij.ad.jp
* extras: ftp.iij.ad.jp
* updates: ftp.iij.ad.jp
依存性の解決をしています
--> トランザクションの確認を実行しています。
---> パッケージ epel-release.noarch 0:7-8 を 更新
---> パッケージ epel-release.noarch 0:7-11 を アップデート
--> 依存性解決を終了しました。

依存性を解決しました

=============================================================================================================================================================
Package                                    アーキテクチャー                     バージョン                         リポジトリー                        容量
=============================================================================================================================================================
更新します:
epel-release                               noarch                               7-11                               epel                                15 k

トランザクションの要約
=============================================================================================================================================================
更新  1 パッケージ

総ダウンロード容量: 15 k
Downloading packages:
Delta RPMs disabled because /usr/bin/applydeltarpm not installed.
epel-release-7-11.noarch.rpm                                                                                                          |  15 kB  00:00:00    
Running transaction check
Running transaction test
Transaction test succeeded
Running transaction
 更新します              : epel-release-7-11.noarch                                                                                                     1/2
 整理中                  : epel-release-7-8.noarch                                                                                                      2/2
 検証中                  : epel-release-7-11.noarch                                                                                                     1/2
 検証中                  : epel-release-7-8.noarch                                                                                                      2/2

更新:
 epel-release.noarch 0:7-11                                                                                                                                

完了しました!


# php --version
bash: php: コマンドが見つかりません


Centos7用のremiリポジトリを有効にする


# rpm -Uvh http://rpms.famillecollet.com/enterprise/remi-release-7.rpm
Retrieving http://rpms.famillecollet.com/enterprise/remi-release-7.rpm
warning: /var/tmp/rpm-tmp.usqufh: Header V4 DSA/SHA1 Signature, key ID 00f97f56: NOKEY
Preparing...                          ################################# [100%]
Updating / installing...
  1:remi-release-7.4-1.el7.remi      ################################# [100%]


PHP7をインストール


後で 7.1 へ アップグレードすればいいやと思い、取り敢えず7.0をインストールしたけれども、後から単純に「$ sudo yum update php」しただけではアップグレード出来ない
・素直に7.1インストールした方が良い
次回はこの時点で7.1をインストール(2018/3/15)
・いや、この考え方も危険(2018/3/16)
・作業時に「remiリポジトリに」どのバージョンがあるかを確認する
・特別な理由がない限り、最新バージョンを指定すべき
ll /etc/yum.repos.d/ | grep remi-
CentOS7のPHP7.1を7.2にアップグレードする[remi]
8回目-14.「PHP 7.0.27」と関連パッケージを削除後、「PHP7.2.3」をインストール


関連パッケージも一括してインストール
# yum -y install --enablerepo=remi --enablerepo=remi-php70  php php-opcache php-devel php-fpm php-gd php-pdo php-dom php-mbstring php-mcrypt php-mysqlnd php-mssql php-pecl-xdebug php-openssl php-json php-pecl-apcu php-pdo_sqlite php-pdo_mysql php-pecl-memcached php-bcmath php-msgpack php-ldap php-pecl-imagick php-pgsql php-pecl-pthreads php-pecl-msgpack php-posix php-pecl-zip

・下記メッセージが表示されるため、次回からは以下を試してみる
パッケージ php-mssql は php-pdo-dblib によって不要になりました。代わりに php-pdo-dblib-7.0.28-1.el7.remi.x86_64 のインストールを試みています。

# yum -y install --enablerepo=remi --enablerepo=remi-php70  php php-opcache php-devel php-fpm php-gd php-pdo php-dom php-mbstring php-mcrypt php-mysqlnd php-pdo-dblib php-pecl-xdebug php-openssl php-json php-pecl-apcu php-pdo_sqlite php-pdo_mysql php-pecl-memcached php-bcmath php-msgpack php-ldap php-pecl-imagick php-pgsql php-pecl-pthreads php-pecl-msgpack php-posix php-pecl-zip

//中略
インストール:
 php.x86_64 0:7.0.28-1.el7.remi                      php-bcmath.x86_64 0:7.0.28-1.el7.remi                php-common.x86_64 0:7.0.28-1.el7.remi            
 php-devel.x86_64 0:7.0.28-1.el7.remi                php-fpm.x86_64 0:7.0.28-1.el7.remi                   php-gd.x86_64 0:7.0.28-1.el7.remi                
 php-json.x86_64 0:7.0.28-1.el7.remi                 php-ldap.x86_64 0:7.0.28-1.el7.remi                  php-mbstring.x86_64 0:7.0.28-1.el7.remi          
 php-mcrypt.x86_64 0:7.0.28-1.el7.remi               php-mysqlnd.x86_64 0:7.0.28-1.el7.remi               php-opcache.x86_64 0:7.0.28-1.el7.remi            
 php-pdo.x86_64 0:7.0.28-1.el7.remi                  php-pdo-dblib.x86_64 0:7.0.28-1.el7.remi             php-pecl-apcu.x86_64 0:5.1.11-1.el7.remi.7.0      
 php-pecl-imagick.x86_64 0:3.4.3-8.el7.remi.7.0      php-pecl-memcached.x86_64 0:3.0.4-2.el7.remi.7.0     php-pecl-msgpack.x86_64 0:2.0.2-1.el7.remi.7.0    
 php-pecl-pthreads.x86_64 0:3.1.6-1.el7.remi.7.0     php-pecl-xdebug.x86_64 0:2.6.0-1.el7.remi.7.0        php-pecl-zip.x86_64 0:1.15.2-1.el7.remi.7.0      
 php-pgsql.x86_64 0:7.0.28-1.el7.remi                php-process.x86_64 0:7.0.28-1.el7.remi               php-xml.x86_64 0:7.0.28-1.el7.remi                

依存性関連をインストールしました:
 ImageMagick6-libs.x86_64 0:6.9.9.37-1.el7.remi          LibRaw.x86_64 0:0.14.8-5.el7.20120830git98d925     OpenEXR-libs.x86_64 0:1.7.1-7.el7              
 atk.x86_64 0:2.22.0-3.el7                               cairo.x86_64 0:1.14.8-2.el7                        cups-libs.x86_64 1:1.6.3-29.el7                
 fastlz.x86_64 0:0.1.0-0.1.20070619svnrev12.el7.remi     fftw-libs-double.x86_64 0:3.3.3-8.el7              fontconfig.x86_64 0:2.10.95-11.el7              
 fontpackages-filesystem.noarch 0:1.44-8.el7             freetds.x86_64 0:0.95.81-1.el7                     fribidi.x86_64 0:0.19.4-6.el7                  
 gd.x86_64 0:2.0.35-26.el7                               gd-last.x86_64 0:2.2.5-1.el7.remi                  ghostscript.x86_64 0:9.07-28.el7_4.2            
 ghostscript-fonts.noarch 0:5.50-32.el7                  graphite2.x86_64 0:1.3.10-1.el7_3                  graphviz.x86_64 0:2.30.1-19.el7                
 gtk-update-icon-cache.x86_64 0:3.22.10-5.el7_4          gtk2.x86_64 0:2.24.31-1.el7                        harfbuzz.x86_64 0:1.3.2-1.el7                  
 hicolor-icon-theme.noarch 0:0.12-7.el7                  httpd.x86_64 0:2.4.6-67.el7.centos.6               httpd-tools.x86_64 0:2.4.6-67.el7.centos.6      
 ilmbase.x86_64 0:1.0.3-7.el7                            lcms2.x86_64 0:2.6-3.el7                           libICE.x86_64 0:1.0.9-9.el7                    
 libSM.x86_64 0:1.2.2-2.el7                              libXaw.x86_64 0:1.0.13-4.el7                       libXcomposite.x86_64 0:0.4.4-4.1.el7            
 libXcursor.x86_64 0:1.1.14-8.el7                        libXdamage.x86_64 0:1.1.4-4.1.el7                  libXext.x86_64 0:1.3.3-3.el7                    
 libXfixes.x86_64 0:5.0.3-1.el7                          libXfont.x86_64 0:1.5.2-1.el7                      libXft.x86_64 0:2.3.2-2.el7                    
 libXi.x86_64 0:1.7.9-1.el7                              libXinerama.x86_64 0:1.1.3-2.1.el7                 libXmu.x86_64 0:1.1.2-2.el7                    
 libXpm.x86_64 0:3.5.12-1.el7                            libXrandr.x86_64 0:1.5.1-2.el7                     libXrender.x86_64 0:0.9.10-1.el7                
 libXt.x86_64 0:1.1.5-3.el7                              libXxf86vm.x86_64 0:1.1.4-1.el7                    libevent.x86_64 0:2.0.21-4.el7                  
 libfontenc.x86_64 0:1.1.3-3.el7                         libmcrypt.x86_64 0:2.5.8-13.el7                    libmemcached.x86_64 0:1.0.16-5.el7              
 libraqm.x86_64 0:0.1.1-1.el7                            librsvg2.x86_64 0:2.40.16-1.el7                    libthai.x86_64 0:0.1.14-9.el7                  
 libtool-ltdl.x86_64 0:2.4.2-22.el7_3                    libwebp.x86_64 0:0.3.0-7.el7                       libwmf-lite.x86_64 0:0.2.8.4-41.el7_1          
 libxshmfence.x86_64 0:1.2-1.el7                         libxslt.x86_64 0:1.1.28-5.el7                      libzip5.x86_64 0:1.4.0-2.el7.remi              
 lyx-fonts.noarch 0:2.2.3-1.el7                          mailcap.noarch 0:2.1.41-2.el7                      mesa-libEGL.x86_64 0:17.0.1-6.20170307.el7      
 mesa-libGL.x86_64 0:17.0.1-6.20170307.el7               mesa-libgbm.x86_64 0:17.0.1-6.20170307.el7         mesa-libglapi.x86_64 0:17.0.1-6.20170307.el7    
 pango.x86_64 0:1.40.4-1.el7                             pcre-devel.x86_64 0:8.32-17.el7                    php-cli.x86_64 0:7.0.28-1.el7.remi              
 php-pecl-igbinary.x86_64 0:2.0.5-1.el7.remi.7.0         pixman.x86_64 0:0.34.0-1.el7                       poppler-data.noarch 0:0.4.6-3.el7              
 postgresql-libs.x86_64 0:9.2.23-3.el7_4                 unixODBC.x86_64 0:2.3.1-11.el7                     urw-fonts.noarch 0:2.4-16.el7                  
 xorg-x11-font-utils.x86_64 1:7.5-20.el7                

依存性を更新しました:
 pcre.x86_64 0:8.32-17.el7                                                                                                                                  

完了しました!


インストールしたPHPのバージョンを確認


# php --version
PHP 7.0.28 (cli) (built: Feb 27 2018 16:07:52) ( NTS )
Copyright (c) 1997-2017 The PHP Group
Zend Engine v3.0.0, Copyright (c) 1998-2017 Zend Technologies
   with Zend OPcache v7.0.28, Copyright (c) 1999-2017, by Zend Technologies
   with Xdebug v2.6.0, Copyright (c) 2002-2018, by Derick Rethans


PHP7の設定

 閲覧数:140 投稿日:2018-03-11 更新日:2018-03-11 

php.ini


環境に合わせて変更する
▼/etc/php.ini

デフォルトキャラクター設定
・PHP7からデフォルトがUTF-8になったためこの変更は不要
※以前はデフォルトキャラクターをUTF-8に設定していた

PHP7の設定項目
・タイムゾーン
・デフォルト言語

# vi /etc/php.ini
#[Date]ブロック
# タイムゾーン
date.timezone = "Asia/Tokyo"

#[mbstring]ブロック
# デフォルト言語
mbstring.language = Japanese

# PHP のバージョンを HTTP ヘッダに含めない
;expose_php = On
expose_php = Off


www.conf設定編集 / php-fpm設定編集

 閲覧数:137 投稿日:2018-03-11 更新日:2018-03-11 

www.conf設定編集


# cd /etc/php-fpm.d/
# cp -p www.conf www.conf.20180311
# ls -la  
       
合計 52
drwxr-xr-x   2 root root    45  3月 11 12:39 .
drwxr-xr-x. 95 root root  8192  3月 11 12:38 ..
-rw-r--r--   1 root root 19146  2月 28 00:12 www.conf
-rw-r--r--   1 root root 19146  2月 28 00:12 www.conf.20180311

# vi www.conf
・www.confを下記のように編集する
user = nginx
group = nginx
listen = /var/run/php-fpm.sock
listen.owner = nginx
listen.group = nginx


default.conf設定編集


# cd /etc/nginx/conf.d/
# ls -la
合計 8
drwxr-xr-x 2 root root 25 3月 10 12:53 .
drwxr-xr-x 3 root root 4096 3月 10 12:53 ..
-rw-r--r-- 1 root root 1093 10月 17 22:21 default.conf


# vi default.conf
・default.confを下記のように編集する
server {
    listen       80;
    server_name  localhost;
    root   /usr/share/nginx/html;
    index index.php index.html index.htm;

    #中略

    location / {
        #root   /usr/share/nginx/html;
        #index  index.html index.htm;
        try_files $uri $uri/ /index.php?$query_string;
    }

    #中略
    error_page   500 502 503 504  /50x.html;
    location = /50x.html {
        root   /usr/share/nginx/html;
    }

    #中略

    location ~ \.php$ {
         fastcgi_split_path_info ^(.+\.php)(/.+)$;
         fastcgi_pass unix:/var/run/php-fpm.sock;
         fastcgi_index index.php;
         fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
         fastcgi_param PATH_INFO $fastcgi_path_info;
         include fastcgi_params;
    }

}


PHPスクリプトの動作確認失敗

 閲覧数:134 投稿日:2018-03-11 更新日:2018-03-16 

PHPファイル作成


# exit
$ cd /usr/share/nginx/html
$ sudo vi index.php
<?php echo 'hoge'; ?>


php-fpmの起動
$ sudo -s
# systemctl start php-fpm
# systemctl enable php-fpm
Created symlink from /etc/systemd/system/multi-user.target.wants/php-fpm.service to /usr/lib/systemd/system/php-fpm.service.

# systemctl restart nginx.service

ブラウザにIPアドレス入力
An error occurred.
Sorry, the page you are looking for is currently unavailable.
Please try again later.

If you are the system administrator of this resource then you should check the error log for details.

Faithfully yours, nginx.


www.confを編集した場合はphp-fpmの再起動が必要。起動ではない!
# systemctl restart php-fpm


エラー対応 / *1 connect() to unix:/var/run/php-fpm.sock failed (13: Permission denied)

 閲覧数:139 投稿日:2018-03-11 更新日:2018-03-11 

Nginxエラーログ確認


# cat /var/log/nginx/error.log
2018/03/11 12:48:13 [crit] 10540#10540: *1 connect() to unix:/var/run/php-fpm.sock failed (13: Permission denied) while connecting to upstream, client: IPアドレスB, server: localhost, request: "GET / HTTP/1.1", upstream: "fastcgi://unix:/var/run/php-fpm.sock:", host: "IPアドレスA"
2018/03/11 12:48:13 [crit] 10540#10540: *1 connect() to unix:/var/run/php-fpm.sock failed (13: Permission denied) while connecting to upstream, client: IPアドレスB, server: localhost, request: "GET /favicon.ico HTTP/1.1", upstream: "fastcgi://unix:/var/run/php-fpm.sock:", host: "IPアドレスA", referrer: "http://IPアドレスA/"
2018/03/11 12:48:16 [crit] 10540#10540: *1 connect() to unix:/var/run/php-fpm.sock failed (13: Permission denied) while connecting to upstream, client: IPアドレスB, server: localhost, request: "GET / HTTP/1.1", upstream: "fastcgi://unix:/var/run/php-fpm.sock:", host: "IPアドレスA"
2018/03/11 12:48:16 [crit] 10540#10540: *1 connect() to unix:/var/run/php-fpm.sock failed (13: Permission denied) while connecting to upstream, client: IPアドレスB, server: localhost, request: "GET /favicon.ico HTTP/1.1", upstream: "fastcgi://unix:/var/run/php-fpm.sock:", host: "IPアドレスA", referrer: "http://IPアドレスA/"
2018/03/11 12:48:19 [crit] 10540#10540: *1 connect() to unix:/var/run/php-fpm.sock failed (13: Permission denied) while connecting to upstream, client: IPアドレスB, server: localhost, request: "GET / HTTP/1.1", upstream: "fastcgi://unix:/var/run/php-fpm.sock:", host: "IPアドレスA"
2018/03/11 12:48:19 [crit] 10540#10540: *1 connect() to unix:/var/run/php-fpm.sock failed (13: Permission denied) while connecting to upstream, client: IPアドレスB, server: localhost, request: "GET /favicon.ico HTTP/1.1", upstream: "fastcgi://unix:/var/run/php-fpm.sock:", host: "IPアドレスA", referrer: "http://IPアドレスA/"
2018/03/11 12:48:19 [crit] 10540#10540: *1 connect() to unix:/var/run/php-fpm.sock failed (13: Permission denied) while connecting to upstream, client: IPアドレスB, server: localhost, request: "GET / HTTP/1.1", upstream: "fastcgi://unix:/var/run/php-fpm.sock:", host: "IPアドレスA"
2018/03/11 12:48:19 [crit] 10540#10540: *1 connect() to unix:/var/run/php-fpm.sock failed (13: Permission denied) while connecting to upstream, client: IPアドレスB, server: localhost, request: "GET /favicon.ico HTTP/1.1", upstream: "fastcgi://unix:/var/run/php-fpm.sock:", host: "IPアドレスA", referrer: "http://IPアドレスA/"
2018/03/11 12:48:19 [crit] 10540#10540: *1 connect() to unix:/var/run/php-fpm.sock failed (13: Permission denied) while connecting to upstream, client: IPアドレスB, server: localhost, request: "GET / HTTP/1.1", upstream: "fastcgi://unix:/var/run/php-fpm.sock:", host: "IPアドレスA"
2018/03/11 12:48:19 [crit] 10540#10540: *1 connect() to unix:/var/run/php-fpm.sock failed (13: Permission denied) while connecting to upstream, client: IPアドレスB, server: localhost, request: "GET /favicon.ico HTTP/1.1", upstream: "fastcgi://unix:/var/run/php-fpm.sock:", host: "IPアドレスA", referrer: "http://IPアドレスA/"
2018/03/11 12:48:19 [crit] 10540#10540: *1 connect() to unix:/var/run/php-fpm.sock failed (13: Permission denied) while connecting to upstream, client: IPアドレスB, server: localhost, request: "GET / HTTP/1.1", upstream: "fastcgi://unix:/var/run/php-fpm.sock:", host: "IPアドレスA"
2018/03/11 12:48:19 [crit] 10540#10540: *1 connect() to unix:/var/run/php-fpm.sock failed (13: Permission denied) while connecting to upstream, client: IPアドレスB, server: localhost, request: "GET /favicon.ico HTTP/1.1", upstream: "fastcgi://unix:/var/run/php-fpm.sock:", host: "IPアドレスA", referrer: "http://IPアドレスA/"
2018/03/11 12:48:20 [crit] 10540#10540: *1 connect() to unix:/var/run/php-fpm.sock failed (13: Permission denied) while connecting to upstream, client: IPアドレスB, server: localhost, request: "GET / HTTP/1.1", upstream: "fastcgi://unix:/var/run/php-fpm.sock:", host: "IPアドレスA"
2018/03/11 12:48:20 [crit] 10540#10540: *1 connect() to unix:/var/run/php-fpm.sock failed (13: Permission denied) while connecting to upstream, client: IPアドレスB, server: localhost, request: "GET /favicon.ico HTTP/1.1", upstream: "fastcgi://unix:/var/run/php-fpm.sock:", host: "IPアドレスA", referrer: "http://IPアドレスA/"


rootユーザで起動されているので、php-fpmのlisten.ownerとlisten.groupを、nginxユーザに合わせると良い
Nginx で「502 Bad Gateway」とか、なんだかエラーログがでるよって時

原因判明


php-fpmのlisten.ownerとlisten.groupを、nginxユーザへ変更するも、コメントアウトしていなかった!
# cat /etc/php-fpm.d/www.conf
;listen.owner = nginx
;listen.group = nginx


コメントアウト対応


# vi /etc/php-fpm.d/www.conf
listen.owner = nginx
listen.group = nginx


PHPスクリプト動作確認失敗2回目


# sudo -s
# systemctl start php-fpm
# systemctl enable php-fpm
# systemctl restart nginx.service

ブラウザにIPアドレス入力
An error occurred.
Sorry, the page you are looking for is currently unavailable.
Please try again later.

・駄目じゃん!

www.conf設定を変更したら、php-fpmの再起動が必要

 閲覧数:172 投稿日:2018-03-11 更新日:2018-03-12 

迷走開始


設定内容を確認していくが何れも正しい
# cat /etc/php-fpm.d/www.conf
# cat /etc/nginx/conf.d/default.conf

最終的に気が付いたこと


www.conf設定を変更したら、php-fpmの再起動が必要
# service php-fpm restart
Redirecting to /bin/systemctl restart  php-fpm.service


正しくは下記
# systemctl restart php-fpm

ブラウザにIPアドレス入力
・「hoge」と表示される

IPアドレスAではなくドメインでアクセスできるよう設定後、ドメインでアクセスしても「hoge」と表示される
IPアドレスの修正入力が必要!

php-fpm再起動する場合は、Nginxも再起動した方が良いかも


後でトラブルが発生したため(但し因果関係は不明)
# systemctl restart nginx.service



8回目-6.Nginx 1.12.2 インストール

8回目-8.Nginxでバーチャルホスト設定



週間人気ページランキング / 9-16 → 9-22
順位 ページタイトル抜粋 アクセス数
1 Nginx設定。エラーログレベル | Nginx(Webサーバ) 19
2 PHP実行ユーザ設定 / CentOS6 / Apache | PHP(プログラミング言語) 14
3 PHPのmb_send_mail関数でメール送信できない | メール処理システム 13
4 9回目-13.MySQL5.7.21設定 | CentOS 7 2週間無料のお試し期間 9回目(さくらVPS) 12
5 touch コマンド / viコマンド。新規ファイル作成時の違い | Linuxコマンド 8
6 ソースからビルドしたPython 2.7.3 アンインストール失敗 | Python(プログラミング言語) 7
6 FFmpeg 2.8.15 を yum インストール | ソフトウェアスイート 7
6 「設定ファイルに、暗号化 (blowfish_secret) 用の非公開パスフレーズの設定を必要とするようになりました。」対応 7
6 Python 3.5 アンインストール / yum remove | Python(プログラミング言語) 7
6 manページ日本語表示 | CentOS 7 (CentOS) 7
6 PHPファイルでchmodエラー | PHP(プログラミング言語) 7
7 ABRT により 問題が検出されました | CentOS 7 (CentOS) 6
7 Python 3.6 インストール / make altinstall | Python(プログラミング言語) 6
7 さくらVPS0 6
8 Reached target Shutdown メッセージが表示されたあと、シャットダウンまたは再起動プロセスがハングアップする | CentOS 7 (CentOS) 5
9 PHP Version 7.1.2 php-mecabエクステンション対応 / PHP 7.0.14 からのアップグレード  | MeCab(形態素解析) 4
9 echo と cat の違い 4
9 phpMyAdmin 4.4.3(phpMyAdmin) カテゴリー 4
9 tar: これは tar アーカイブではないようです 4
9 MySQL 5.5 から 5.6 へのアップグレード | MySQL(データベース) 4
2021/9/23 1:01 更新