Ubuntu + MySQL + CakePHPの環境でbakeコマンドでモデルを作ろうとするとエラーが出ます。

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」が出ます

回答の条件
  • 1人5回まで
  • 登録:
  • 終了:2011/07/13 22:45:30
※ 有料アンケート・ポイント付き質問機能は2023年2月28日に終了しました。

ベストアンサー

id:tobeoscontinue No.1

回答回数220ベストアンサー獲得回数59

ポイント100pt

ライセンスの関係からか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をインストールした方が簡単だと思います。

コメントはまだありません

この質問への反応(ブックマークコメント)

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

回答リクエストを送信したユーザーはいません