serverspecのphp_configでテストが通らず悩んだ話

serverspecのphp_configでテストが通らず悩んだ話

serverspecのphp_configでのテストがずっと通らずに悩んでいたときのお話しです。

serverspec用のユーザを作成し、sudoできるようにして、テストしていました。
手動でテストした際も、rootユーザでは期待値が戻ってきたのですが、serverspec用ユーザだと値が戻らないという状況でした。

rootユーザの状況

#php -r 'echo get_cfg_var( "date.timezone" );'
Asia/Tokyo

serverspec用ユーザの状況

#php -r 'echo get_cfg_var( "date.timezone" );'
#

なんでだろうと悩んでいたんですが、下記コマンドを実行して、ん?と思うことが。

php --ini
Configuration File (php.ini) Path: /usr/local/lib
Loaded Configuration File:         /usr/local/lib/php.ini
Scan for additional .ini files in: (none)
Additional .ini files parsed:      (none)
php --ini
Configuration File (php.ini) Path: /etc
Loaded Configuration File:         /etc/php.ini
Scan for additional .ini files in: (none)
Additional .ini files parsed:      (none)

php.iniがふたつあったっというオチ・・・orz
phpをソースコードからインストールしてたんですが、どうも私が設定したあとに、誰かがyumでphp関係のモジュールをインストールした模様。

こういうエラーは気づくのに時間がかかりますね・・・。
こういうことが無いように、直接設定せずchefとかのツールでやるべきと改めて痛感しました。

PHPカテゴリの最新記事

%d人のブロガーが「いいね」をつけました。