installPHPのインストール数多くのWebアプリケーションで利用されているPHPをソースコードからインストールする。2.4.39PHPのインストールができたら,Apache上での動作設定を行おう。この場所はconfigure実行時に--with-config-file-pathで変更できる。その他に環境変数PHPRCでも変更できる。(php.iniと.user.ini)」に記した通り,PHP_INI_SCAN_DIR環境変数で$HOME/.local/etc/php.iniを参照させ,システム標準のphp.iniに追加する形でphp.iniを読み込ませることにする。そのため,~/.bashrcや~/.profileに以下の1行を記載しておく。installを実行すると最後に以下のメッセージが表示される。file_get_contentsの関数でファイルを読み込む際の検索ディレクトリーを指定する。今回はローカルにphpをインストールしたので,PHPの標準ライブラリーなどを今後読み込めるように,$HOME/.local/etc/php.iniに以下の内容を記す。${HOME}/.local/lib/php:${include_path}ビルド設定./buildconf実行時に以下のエラーが出たので,--forceオプションを指定した。組み込み機能の有効化には対応するライブラリーが必要だ。PHPの組み込み機能は数が多いので,組み込み機能のPHPのビルド時の有効化は現実的ではない。Serverのモジュールだけを最低限有効にしてインストールした。ApacheのPHPモジュールはPHPビルド時にしか作られないためだ。その他の必要な機能はphpizeでPHPのインストール後に個別に有効にする。MySQL関係の設定に関してはphpizeでインストールできなかった。幸いなことに,追加の依存関係がないため,PHP本体のビルド時のconfigureに以下のオプションを指定することで有効にした。7.3.4には存在しなかったので,省いた。install実行時にdatarootdir="$LOCAL/stow/$PKG-$VER/share"環境変数を指定している。これは,phpのmanをshare配下にインストールするためだ。ここで環境変数を指定しない場合,php配下にインストールされてしまい,他のパッケージとディレクトリー構成が変わってしまう。デフォルトだと,datarootdirはPREFIX/shareであり,問題ないはずなのだが,何故か実際はPREFIX/phpとなっている。configure実行時の--datarootdirオプションの指定により,変更できなかった。install時に変数を強制上書きした。7.3.3と7.3.4で確認したが,これはPHPのバグだと推測する。testでは,テスト実行後に以下のようにログファイルを送信するかどうかの質問が発生する。1この質問への自動回答には注意が必要だ。試しに以下のように標準入力を使って回答する。testすると,以下のテストが確実に失敗する。test実行時に標準入力を使用しているためにテストに失敗している。testあるいは,expectコマンドを使い,標準入力を使わずに自動入力することで対応できる。以下のコマンドを実行すれば,自動入力できる。0}'expectコマンドを使う方法は複雑なので,NO_INTERACTION=1を指定すればよいだろう。<<-"EOT"のように,shコマンドの標準入力にコマンドを渡している。<<-"EOT"は飛ばして実行する。testを実行することで対応する。<<-"EOT"から実行すると失敗するので,この行は省いて実行する)。Serverのモジュールを有効にしてインストールする。その場合,./configureのオプションに--with-apxs2を指定する。install時に,ApacheでPHPのモジュールをインストールでき,自動的にhttpd.confに以下の行を追加してくれる。modules/libphp7.so--with-apxs2を指定してmakeを実行すると,libs配下にlibphp7.soが生成される。格納して,上記設定をhttpd.confに記入すれば,ApacheのPHPモジュールが有効になる。PHPモジュールの有無は以下のコマンドで,Apacheで有効なモジュールの一覧から確認できる。[sapi/phpdbg/tests/watch_006.phpt]=====================================================================内容はphpdbgに関するものだ。実際に,以下のコマンドで,breakpoints_001.phptに記載されているデバッグコマンドを入力してみる。dumped)たしかに失敗している。この問題の解決のポイントは以下2点だ。configureのオプションに--enable-debugを指定。Readlineの不足による問題ではないかという話がある。Readlineをインストールすると解決した。理由は不明だが,--enable-debugオプションの指定も必要だった。phpdbgコマンドはデバッガーであり,テストでデバッグの機能を使っているからだと思われる。,--with-apxs2を指定しない場合,このテストはスキップされるようで,テストが失敗することはなく,--enable-debugも指定する必要はない。test失敗の問題解決は厄介だったが,なんとか解決できてよかった。testで以下の項目が失敗していた。再度実行して原因を調査する。14.04でes_CU.utf8のロケールを認識できていないのが原因のようだ。たしかに,以下のコマンドでロケールをes_CU.utf8に変更しようとするとエラーが出た。Ubuntu」で回答があるように,以下のコマンドでロケールを更新することで,es_CU.utf8が認識できるようになる。testが通るようになった。対して1件のコメントがあります。コメントをキャンセルメールアドレスが公開されることはありません。TOPMENUPostProductPublicBookFoodMTGSocialContact。