PHP Fatal error: Call to undefined function mysql_query() in PATH/cake/libs/model/datasources/dbo/dbo_mysql.php on line 600
●PHPはソースからコンパイルしていて/usr/local/bin/phpにあります
●/usr/local/bin/php -v を実行すると5.3.4 /usr/bin/php -v を実行すると5.3.3
●cake/console/cake.phpの1行目に「#!/usr/bin/php -q」とあったので「#!/usr/local/bin/php -q」に変えても同じエラーが出る
●cake/console/cake に「export PATH=/usr/local/bin:$PATH」を加えても同じエラーが出て変わらない
●Webアプリ経由でmysql_query()を実行してもundefinedにはならない
●Webアプリ経由でphpinfo()を実行するとConfigurationFilePathは「usr/local/lib」、LoadedConfigurationFileは「usr/local/lib/php.ini」
●コマンドからphp -ini を叩くと、ConfigurationFilePathは「usr/local/lib」、LoadedConfigurationFileは何故か「(none)」
●phpを「--with-config-file-path=/usr/local/lib」オプションを付けて再コンパイルしても「php -ini」からではLoadedConfigurationFileは「(none)」のまま。
●ただ「php -i」を叩くとLoadedConfigurationFileは「/usr/local/lib/php.ini」が出ます
ライセンスの関係からかphp5からMy SQLをバンドルしていないようです。
そのためコンパイル時に--with-mysqlのオプションの指定が必要になります。
http://www.php.net/manual/ja/faq.databases.php#faq.databases.mysql.php5
http://www.6x22.com/blog/2007/01/php_configurephp5.html
コンパイルされた5.3.4にはmysqlの部分が含まれていないため
undefined function mysql_query()
となっているのでしょう。
自力でコンパイルする必要がないのであればphp5-cliをインストールした方が簡単だと思います。
コメント(0件)