PHP環境構築設定のための10か条

プログラミング言語PHP

一覧

 状態:-  閲覧数:417  投稿日:2016-03-11  更新日:2016-03-14
1.最終的に頼りになるのはphpinfo();
2.「phpinfo();」 と 「php -v;」 が異なる場合は、「phpinfo();」 が正しい

No1.最終的に頼りになるのはphpinfo();

 閲覧数:125 投稿日:2016-03-11 更新日:2016-03-14 

必ず事前にバックアップを取得しておく


PHPやデータベースをアップデートする際には、必ず事前にバックアップを取得しておく


理由


重大なトラブルに遭遇した場合、phpinfo();すら表示できない場合もあり得る
・原因を探す際、非常に有効
・現状把握に役立つ(誰かに相談する際でも、一人ひとり環境は異なるため)


phpinfo(); のどこを見るの?


各種PATH
・エクステンション等、現在有効なPATHを確認する際に使用


その他


データベースアップデートの際もphpinfo();のバックアップは必要?
・ドライバ依存関係でトラブルに見舞われることもあるので、保存しておいた方が無難

phpinfo();のバックアップ形式は?
・任意
・例えば、キャプチャ画像もしくはHTML(検索できるため便利)

2.「phpinfo();」 と 「php -v;」 が異なる場合は、「phpinfo();」 が正しい

 閲覧数:168 投稿日:2016-03-14 更新日:2016-03-14 

2行で要約


PHPのアップデートや再インストール時のバージョン確認は、必ず「phpinfo();」 で行う
・結果が「php -v;」と一致していない場合は正常な状態ではないので注意が必要


遭遇事例


「php -v;」結果は7.0.2 / 「phpinfo();」 掲載情報は5.5.32
・どちらが正しいの?

当初の認識
・情報の正確性は、 「phpinfo();」 よりも「php -v;」の方が上だと考えていた
・だから、PHP7.0.2インストールに成功したと、考えていた

なぜ間違いだと気がついたか?

・試しに、PHP7で新規導入された関数を呼び出してみたら、エラーが発生したため
→ 正常アップデートされずPHP5.5.32 のままだったことに、この時初めて気がついた


両者が一致していない時は?


「phpinfo();」 掲載情報と 「php -v;」 結果が異なる
・何れかの設定がおかしいとき
・正常な場合は、必ず一致する
・問題の根は予想よりも深いことがあるので、対応は慎重にした方が良い

結論としては、「phpinfo();」 掲載情報が正しい
・「php -v;」結果が、サーバに反映されているとは限らない





No3 → No10

 閲覧数:118 投稿日:2016-03-14 更新日:2016-03-14 

No3


極力yumでインストール

理由
・トラブった際、簡単にアンインストールできるから

ソースからコンパイル
・コード内容まで把握しているなら良いが、単にコピペしている場合だとトラブった際、対処できなくなる
・どうしても、ソースからコンパイルせざるを得ないときは、処理内容を後から追えるよう必ず記録しておくこと


No4


参考にする際は必ずバージョンに気をつける
・環境構築に関して言えば、バージョンが変われば仕様が変更されていることも多い
・自分が取り組んでいる環境と異なる情報を鵜呑みにするのはかなり危険な行為
・参考ページを選定する際は、検索結果の表示順位よりも、バージョンを気にした方が良い


No5


可能ならアップデートではなく、再インストール
・依存関係は思ったよりもかなり複雑
・トラブったら素人では対応できない
・アンインストールしようと思っても、一筋縄ではいかないことも
・胃が痛い思いをしながら四苦八苦するより、可能なら再インストールする方が、結局はスムーズにことが運ぶかも



No9


シンボリックリンク
・作成する際は、その事実をメモしておかなければ後で忘れがち


No10


エクステンション
・PHP7未対応のものもある


PHP 7.0.4

PHPエラーログ/ CentOS6 × Apache



週間人気ページランキング / 9-14 → 9-20
順位 ページタイトル抜粋 アクセス数
1 PHPのmb_send_mail関数でメール送信できない | メール処理システム 29
2 Nginx設定。エラーログレベル | Nginx(Webサーバ) 21
3 Python 3.5 アンインストール / yum remove | Python(プログラミング言語) 11
4 FFmpeg 2.8.15 を yum インストール | ソフトウェアスイート 10
5 PHP実行ユーザ設定 / CentOS6 / Apache | PHP(プログラミング言語) 9
6 PHP Version 7.1.2 php-mecabエクステンション対応 / PHP 7.0.14 からのアップグレード  | MeCab(形態素解析) 8
6 ソースからビルドしたPython 2.7.3 アンインストール失敗 | Python(プログラミング言語) 8
7 touch コマンド / viコマンド。新規ファイル作成時の違い | Linuxコマンド 7
7 さくらVPS0 7
8 9回目-13.MySQL5.7.21設定 | CentOS 7 2週間無料のお試し期間 9回目(さくらVPS) 6
8 「設定ファイルに、暗号化 (blowfish_secret) 用の非公開パスフレーズの設定を必要とするようになりました。」対応 6
9 PHPファイルでchmodエラー | PHP(プログラミング言語) 5
9 設定 2019/1/22 / 一般ユーザがmailコマンドでメール送信 / 管理者がmailコマンドでメール送信 5
10 Postfix | メール処理システム 4
10 CentOSでcpコマンド動作確認するためには、Control + T ではなく、 -v オプションを使用 | cp(Linuxコマンド) 4
10 499 (Request has been forbidden by antivirus) | HTTP(通信プロトコル) 4
10 tar | Linuxコマンド 4
10 Python 3.6 インストール / make altinstall | Python(プログラミング言語) 4
10 「CentOS6」から「CentOS7」への移行 | CentOS 7 (CentOS) 4
10 echo と cat の違い 4
2021/9/21 1:01 更新