前
の記事
Fatal error: Call to a member function execute() on a non-object in Ethna_DB_ADOdb.php on line 210
次の記事
Ethnaのソースコードを読み解く 第7回 Ethna_Controller::_trigger_WWW 要約版
PHPをコマドライン(cli)から起動すると、表題のようなエラーが出ることがあります。
私の場合は、
前者ではphp_pgsql.dll(PostgreSQL接続用モジュール)が読み込まれる設定になっていたのに、後者では何も設定していなかったので、上記のエラーが出た次第です。
Fatal error: Call to undefined function pg_connect()
ブラウザから動かしたらちゃんと動くのにおかしいなーと思っていろいろ調べたら、原因がわかりました。
原因
phpは、Apacheと連動して動く場合と、コマンドライン(cli)から起動して動く場合で、別々のphp.iniファイルを参照しているようです。私の場合は、
- Apacheモジュールとして動作する場合: c:\windows\php.ini
- コマンドラインのコマンドとして動作する場合: c:\php5\php.ini
前者ではphp_pgsql.dll(PostgreSQL接続用モジュール)が読み込まれる設定になっていたのに、後者では何も設定していなかったので、上記のエラーが出た次第です。
対処法
コマンドライン(cli)用のphp.iniを、下記のように書き換えれば、動くと思います。;extension=php_pgsql.dll
↓
extension=php_pgsql.dll
php_pgsql.dllが読み込まれているかを確認する方法
コマンドラインから、>php -i
と打って、"PostgreSQL"または"pgsql"という文字が出てくればOKです。
カテゴリ
PHP
トラックバック(1)
このブログ記事を参照しているブログ一覧: [PHP]コマンドライン(cli)でFatal error: Call to undefined function pg_connect() の対処法
このブログ記事に対するトラックバックURL: http://dqn.sakusakutto.jp/mt/mt-tb.cgi/302
» Fatal error: Call to a member function execute() on a non-object in Ethna_DB_ADOdb.php on line 210(DQNEO起業日記)~のトラックバック
Windows上で、Ethna+PostgresqlでWebアプリを作っていて、... 続きを読む
コメントする