php-MySQL のサーバ・アプリを開発する（CentOS 6.8）

# はじめに
　CentOS 6.8にインストールされていたphpのバージョンを確認すると5.3.3だった。
　フレームワークLaravelを入れるため、php5.5以上をインストール。
[root@ ~]# php -v
PHP 5.3.3 (cli) (built: Aug 11 2016 20:23:18) 
Copyright (c) 1997-2010 The PHP Group
Zend Engine v2.3.0, Copyright (c) 1998-2010 Zend Technologies

## まず、php関連パッケージをインストールします
epelリポジトリの確認
[root@ ~]# rpm -qa | grep epel-release
epel-release-7-9.noarch　←このバージョンが合わずに時間をとられた。。。

remiリポジトリの確認
[root@ ~]# rpm -qa | grep remi-release
[root@ ~]# 　← ない！　PHP5.6に必要なremiレポジトリを追加します。ところが。。。

[root@ ~]# wget http://rpms.famillecollet.com/enterprise/remi-release-6.rpm
[root@ ~]# rpm -ivh remi-release-6.rpm
警告: remi-release-6.rpm: ヘッダ V4 DSA/SHA1 Signature, key ID 00f97f56: NOKEY
エラー: 依存性の欠如:　epel-release = 6 は remi-release-6.8-1.el6.remi.noarch に必要とされています

と、出てしまう。:worried:
[root@ ~]# yum --enablerepo=remi,epel list　とやっても通らないので、
（必要なかったかも→）Remiのリポジトリの設定ファイルを作成し、
[root@ ~]# vi /etc/yum.repos.d/remi.repo
[remi]
：（略）
enabled=0　←　１に
[root@ ~]# yum --enablerepo=remi,epel list
これで、インストールできたみたい。と思って
[root@ ~]# yum install -y --enablerepo=remi --enablerepo=remi-php56 php php-mcrypt php-mbstring php-pdo php-mysqlnd php-tokenizer
読み込んだプラグイン:fastestmirror, refresh-packagekit, security

Error getting repository data for remi-php56, repository not found

###結局、remi-php56は入らない
つまり、epelのバージョンが7.9だから、remiが正しい依存関係を結べないと結論した。
よって、epelを消す。
[root@ ~]# rm -r /usr/share/doc/epel-release-7
rm: descend into directory `/usr/share/doc/epel-release-7'? y
rm: remove 通常ファイル `/usr/share/doc/epel-release-7/GPL'? y
rm: remove ディレクトリ `/usr/share/doc/epel-release-7'? y
（でも、yumリポジトリの削除は、↓これでよかったのだ。）　
[root@ ~]# rpm -e パッケージ名
pc再起動が必要になったが、
[root@ ~]# rpm -qa | grep epel-release
[root@ ~]# 　← ない！　ようやく消えた！　ここで、epelの6.8をようやく入れられる！　
[root@ ~]# rpm -ivh http://dl.fedoraproject.org/pub/epel/6/x86_64/epel-release-6-8.noarch.rpm
 ~]# rpm -qa | grep epel-release
epel-release-6-8.noarch　←　インストールできました！
その後、remiを　rpm -ivh でインストール。
 ~]# rpm -ivh http://rpms.famillecollet.com/enterprise/remi-release-6.rpm
http://rpms.famillecollet.com/enterprise/remi-release-6.rpm を取得中
警告: /var/tmp/rpm-tmp.cC8YT3: ヘッダ V4 DSA/SHA1 Signature, key ID 00f97f56: NOKEY
1:remi-release   警告: /etc/yum.repos.d/remi.repo は /etc/yum.repos.d/remi.repo.rpmnew として作成されました。
########################################### [100%]　できた！:hugging:
[root@ ~]# rpm -qa | grep remi-release
remi-release-6.8-1.el6.remi.noarch　←　依存関係解消！インストールOK！:wink:

ーーーーーーーインストール時に自動作成されたremi.repo.rpmnew を生かすため、remi.repoと入れ替えた。
 ~]# mv /etc/yum.repos.d/remi.repo.rpmnew /etc/yum.repos.d/remi.repo
ーーーーーーー

[root@ ~]# rpm -qa | grep remi-release
remi-release-6.8-1.el6.remi.noarch　　　←できてる！！

ーーーーーーー確認・・・
[root@test]# yum --enablerepo=epel,remi,remi-php56 info php
インストール済みパッケージ
名前                : php
アーキテクチャ      : i686
バージョン          : 5.6.30
リリース            : 1.el6.remi
容量                : 8.1 M
リポジトリー        : installed
提供元リポジトリー  : remi-php56　←ちゃんと入った！
要約                : PHP scripting language for creating dynamic web sites
URL                 : http://www.php.net/
ライセンス          : PHP and Zend and BSD

ーーーーーーー

### ２．php5.6　をインストールします。
参考サイト：http://laraweb.net/environment/75/
[root@ ~]#yum install -y --enablerepo=remi --enablerepo=remi-php56 php php-mcrypt php-mbstring php-pdo php-mysqlnd php-tokenizer php-xml

警告がいくつかでる。
警告: rpmts_HdrFromFdno: ヘッダ V4 DSA/SHA1 Signature, key ID 00f97f56: NOKEY
Retrieving key from file:///etc/pki/rpm-gpg/RPM-GPG-KEY-remi
Importing GPG key 0x00F97F56:
 Userid : Remi Collet <RPMS@FamilleCollet.com>
 Package: remi-release-6.8-1.el6.remi.noarch (installed)
 From   : /etc/pki/rpm-gpg/RPM-GPG-KEY-remi
警告: RPMDB は yum 以外で変更されました。
・・・
  Verifying               : php-pecl-jsonc-1.3.10-2.el6.remi.5.6.i686      1/11 
  Verifying               : php-5.6.30-1.el6.remi.i686                     2/11 
  Verifying               : php-common-5.6.30-1.el6.remi.i686              3/11 
  Verifying               : php-pecl-zip-1.13.5-1.el6.remi.5.6.i686        4/11 
  Verifying               : php-xml-5.6.30-1.el6.remi.i686                 5/11 
  Verifying               : php-mcrypt-5.6.30-1.el6.remi.i686              6/11 
  Verifying               : php-cli-5.6.30-1.el6.remi.i686                 7/11 
  Verifying               : php-mysqlnd-5.6.30-1.el6.remi.i686             8/11 
  Verifying               : php-mbstring-5.6.30-1.el6.remi.i686            9/11 
  Verifying               : libzip-last-1.1.3-1.el6.remi.i686             10/11 
  Verifying               : php-pdo-5.6.30-1.el6.remi.i686                11/11 

インストール:
  php.i686 0:5.6.30-1.el6.remi            php-common.i686 0:5.6.30-1.el6.remi  
  php-mbstring.i686 0:5.6.30-1.el6.remi   php-mcrypt.i686 0:5.6.30-1.el6.remi  
  php-mysqlnd.i686 0:5.6.30-1.el6.remi    php-pdo.i686 0:5.6.30-1.el6.remi     
  php-xml.i686 0:5.6.30-1.el6.remi       

依存性関連をインストールしました:
  libzip-last.i686 0:1.1.3-1.el6.remi                                           
  php-cli.i686 0:5.6.30-1.el6.remi                                              
  php-pecl-jsonc.i686 0:1.3.10-2.el6.remi.5.6                                   
  php-pecl-zip.i686 0:1.13.5-1.el6.remi.5.6                                     

完了しました!　:grinning:　phpバージョンを確認します。
~]# php -v
PHP 5.6.30 (cli) (built: Jan 19 2017 08:00:02) 
Copyright (c) 1997-2016 The PHP Group
Zend Engine v2.6.0, Copyright (c) 1998-2016 Zend Technologies

###3. Composerをインストール
Laravelではパッケージ（ライブラリ）の依存関係の管理にComposerを使用しています。

[root@ ~]# curl -sS https://getcomposer.org/installer | php
pathの通った場所へ移動させる
]# mv composer.phar /usr/local/bin/composer

]# composer　とコマンドを打ってみる。

![Screenshot-1.png](https://qiita-image-store.s3.amazonaws.com/0/142330/50b7404d-8770-393a-cdfa-60e68c2bd0df.png)

###4. Laravelをインストール
 ~]# cd /var/www
 www]# composer create-project laravel/laravel patlist2 "5.1.*" --prefer-dist
Installing laravel/laravel (v5.1.33)
  - Installing laravel/laravel (v5.1.33) Downloading: 100%         
Created project in patlist2
：　：　：
> php artisan optimize
Generating optimized class loader
> php artisan key:generate
Application key [paIRhxWvLxRQDkgZTiFXaXpBZvGwB0Sh] set successfully.

成功したみたいです。:blush:

ーーーーーーーーーーーーーーーーーーーーーーーーーー
＜自分のIPアドレスを知る＞
patlist2]# 　ifconfig eth0
eth0      ・・・ 
          inet addr:192.168.1.12  Bcast:192.168.1.255  Mask:255.255.255.0
          inet6 addr: ・・・
          inet6 addr: ・・・
　→　192.168.1.12 とわかりました。。。
ーーーーーーーーーーーーーーーーーーーーーーーー
 patlist2]# php artisan serve --host 192.168.1.12 --port 8000
Laravel development server started on http://192.168.1.12:8000/
[Tue Feb 14 04:36:44 2017] 192.168.1.12:52634 [200]: /favicon.ico

これで、ブラウザのURLに「192.168.1.12:8000」とやって、
![Screenshot.png](https://qiita-image-store.s3.amazonaws.com/0/142330/dcc56a24-a07e-e7b5-9116-2009fc7a9b15.png)

[Tue Feb 14 04:36:44 2017] 192.168.1.12:52636 [200]: /favicon.ico
[Tue Feb 14 04:36:55 2017] 192.168.1.2:2703 Invalid request (Unexpected EOF)
[Tue Feb 14 04:37:04 2017] 192.168.1.2:2711 Invalid request (Unexpected EOF)