人力検索はてな
モバイル版を表示しています。PC版はこちら
i-mobile

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


●質問者: maduruka
●カテゴリ:コンピュータ ウェブ制作
✍キーワード:Cake CakePHP config Console LIB
○ 状態 :終了
└ 回答数 : 1/1件

▽最新の回答へ

1 ● tobeoscontinue
●100ポイント ベストアンサー

ライセンスの関係からか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.人力検索はてなトップ
8.このページを友達に紹介
9.このページの先頭へ
対応機種一覧
お問い合わせ
ヘルプ/お知らせ
ログイン
無料ユーザー登録
はてなトップ