やったこと

webサービスを作るときに考えたことを垂れ流します

phpをスクリプトで実行すると「mysql.soが読み込めません!」とエラーが出る件

最近用意したばかりのcentOS上で、phpスクリプトを実行しようとしたら以下のようなWarningが出てしまった。

PHP Warning:  PHP Startup: Unable to load dynamic library '/usr/lib64/php/modules/msql.so' - /usr/lib64/php/modules/msql.so: cannot open shared object file: No such file or directory in Unknown on line 0

このログ何か見覚えがあるなー・・と思いながらしばらくググッてたら、思い出した。

「/etc/php.ini」の中に「mysql.so」の読み込みをする箇所があるんだけど、そこがデフォルトでタイポしていたんだった。

; For example, on Windows:
;
;   extension=msql.dll
;
; ... or under UNIX:
;
    extension=msql.so  ★←この箇所です。正しくは「mysql.so」
;
; ... or with a path:
;
;   extension=/path/to/extension/msql.so


ここを修正して再度phpを実行してみたら、またWarningが出ちゃった・・。

PHP Warning:  Module 'mysql' already loaded in Unknown on line 0


よく調べてみたら「/etc/php.d/mysql.ini」の中にすでに同じ記述があるじゃないか。なので「/etc/php.ini」のextension設定はコメントアウトすることにしました。

;   extension=msql.so  ★←コメントアウト!

これで正常にphpスクリプトが叩けるようになりました。
めでたしめでたし。