エラー解消:Fatal error: Call to undefined function spl_autoload_register
Smarty3を導入しようと思い、インストールして利用しようとしたところ「Fatal error: Call to undefined function spl_autoload_register()…」というエラーに遭遇。
解決法ですが、PHPの拡張モジュールで「spl.so」と「simplexml.so」を無効にしていたことによるエラーであることが分かりました。
「spl.so」「simplexml.so」を有効にする
この2つのモジュールを有効にする方法ですが、PHPの初期設定ファイル(php.ini)、あるいは自動的に読み込まれる設定ファイル(extension.iniなど)でコメントされている部分を外して、Apacheを再起動、あるいは設定を再読み込みしてください。
; extension=spl.so ←「;」を外す ; extension=simplexml.so ←「;」を外す
保存して、Apacheを再起動しましょう。
# /etc/init.d/httpd restart (またはreload)
phpinfo() で確認
起動できたら適当なPHPファイルに「phpinfo()」を書いてアップロードし、ブラウザでアクセスして以下の部分が表示されているかどうか確認してください。
表示されれば spl_autoload_register() 関数が利用できるようになっているはずです。
2012-03-08