Archives by date

You are browsing the site archives by date.

【CentOS】patchコマンドが無いよと怒られたら。

yumで入れてやればいい。

ね。簡単でしょ。

【CentOS】apxsが無い場合。

例えばwhich apxsなどを実行して、そんなもん無いよといわれてしまったら。

apxshttpd-develモジュールに含まれているので次の通りインストールしてやればOK。

これで/user/bin以下にapxsが配置されるはず。
※場所が違ってもwhich apxsすればわかる。

【htaccess】でPHPのエラー表示周りをONにする際のコピペテンプレート。

自分用。

【Markdown】脚注の書き方。

を、メモ。

脚注を[^1]:文字列というように定義して脚注を入れたい場所に[^1]としてやればよい。

テストとは1

とこんな具合になる。


  1. test 

【PHP】「Fatal error Unsupported operand types in」エラー。

変数の型が違う物同士を演算しようとすると出る。

【PHP】PHP5.6でdie();を連続して記述するとサーバーからのレスポンスが帰ってこない。

なんで?

これは帰ってくる。というか普通にダンプ内容が表示される。

これはデータを受信していません、になる。 Chromeで言うとエラーコードERR_EMPTY_RESPONSEになる。

仕様なのか、、、??

追記:

die();の問題じゃないっぽい。
どうやらクラス内定数周りが絡むとこうなることが多い気がする。

要調査。

【CentOS】makeコマンドで「/usr/bin/ld: cannot find」と表示されたら。

makeコマンドを実行した際に「/usr/bin/ld: cannot find …」と怒られるのは、その後の「-l」以降に続く文字列名のライブラリが不足していることが原因。

例えば

と表示されていたら、ltdlという名前のパッケージが足りていないということ。

焦らずにyum search ltdlとでも入力し、ひっかかったライブラリをインストールしてやればOK。

【CentOS/PHP】phpenvを道入して複数バージョンのPHPを管理する。

phpenv

複数バージョンのPHPを管理するツール。PHPのバージョンをフォルダごとに分けたりとかが出来る。

インストール

下記コマンドを順番に実行。

ここまできたらphpenvコマンドが有効になる。

PHPをインストール

下記コマンドでインストール可能なPHPのバージョンを確認。

こんな感じでリスト表示されるので、この中から使いたいバージョンを決める。
んで例えば5.3.29をインストールしたい場合は下記の通り。

PHPインストール(コンパイル)時のオプションは下記ファイルに記載されているので確認すること。

インストール時のオプションを書き換えたい場合はこれらのファイルを編集すればよい。

オプションを足したい場合は

オプションを削除したい場合は

という記述を各バージョンごとのファイルに追記してやる。
※ここでの注意点として、configure_optionを最終行に追記すると反応しない場合があるらしいので先頭行に追記するのがベター。

たとえばPHP5.3.29をインストールする際に--enable-fpmを追加したければ、 ~/.phpenv/plugins/php-build/share/php-build/definitions/5.3.29configure_option "--enable-fpm"を追記して保存する。

PHPのバージョンを切り替える

まずは下記コマンドでインストール済のPHPバージョンを確認する。

このようにリスト表示される。

そしたら状況に応じて下記コマンドのいずれかを実行。

例えばバージョン5.4.35を現在のディレクトリ以下のみで有効にしたい場合はこんな感じ。

上記を実行すると、そのディレクトリに.php-versionが生成され、その後指定したバージョンが有効になる。

試しにそのフォルダ内でphp -vを実行してやると、ちゃんとバージョンが適用されていることが分かる。

Apacheから特定のPHPバージョンを有効化する

  • まずはhttpd-develパッケージに付属しているapxsの場所を特定する。
    ※下記コマンドを実行すればOK。

  • 次にインストールしたいPHPのバージョンを決め、そのPHPバージョンのコンパイルオプション定義ファイルに次の行を追記する。

5.4.35の場合は~/.phpenv/plugins/php-build/share/php-build/definitions/5.4.35に下記を追記。

apxsへのパスは先ほどwhichコマンドで調べた際のものを指定。

  • 次にPHPのMakefileが出力するlibphp5.soの出力先パスを変更するためにパッチを当てる。

  • 次の内容を記載したファイルをphp-build.patchとして保存。

  • 下記コマンドを実行してパッチを当てる。
  • ビルドが完了すると、下記ディレクトリにlibphp5.soが出力される。
  • 最後にこのlibphp5.sohttpd.confでロードし、サーバーを再起動すれば完了。

※自分の場合はPHPのビルド完了と共に、httpd.conf内に自動で下記が追記されていたが、もし追記されていなければ追記して保存しれやればよい。

違うバージョンを試したい場合も同様にこの手順を繰り返してやればOK。 もしサーバーにもともとインストールしてあるPHPに戻したい場合はLoadModuleの行を消すなりコメントアウトするなりして、サーバーを再起動すればOK。