0

コマンドラインでphpを起動するDrushを使用しています。最初の php.ini をローカル ディレクトリにコピーして、php が Web サーバーによって起動された場合と同じ構成を使用するようにしました。Web サーバーで使用すると、うまく機能します。残念ながら、コマンドラインで起動すると、drush が mysqli_fetch_array および/または mysqli_fetch_object を呼び出すと PHP がクラッシュしますが、mysqli_fetch_row を呼び出すとすべて問題ありません... Windows で EasyPHP 5.2.10 を使用しています。

エラー メッセージ: php.exe で未処理の win32 例外が発生しました [5772]。この例外の Just-In_time デバッグは、次のエラーで失敗しました: インストールされたデバッガーで Just-In_time デバッグが有効になっていません。Visual Studio では、ツール/オプション/デバッグ/ジャスト イン タイムからジャスト イン タイム デバッグを有効にできます。

コメントでリクエストされたとおり、PHP と MySQLi モジュールに関する情報を以下に示します。 備考: Client API ライブラリのバージョンと Cient API ヘッダーのバージョンが異なります。ただし、Web サーバー phpinfo() を使用する場合は同じです...これが問題でしょうか? ただし、これは easyPHP の新規インストールです...おっと。

php -v

PHP 5.2.10 (cli) (ビルド: 2009 年 6 月 17 日 16:16:57) Copyright (c) 1997-2009 The PHP Group Zend Engine v2.2.0、Copyright (c) 1998-2009 Zend Technologies

php-i

phpinfo() PHP バージョン => 5.2.10

システム => Windows NT APOLLON 5.1 ビルド 2600 ビルド日 => 2009 年 6 月 17 日 16:16:01 構成コマンド => cscript /nologo configure.js "--enable-snapshot-build" "--enable-debug-pack" " --with-snapshot-template=d:\php-sdk\snap _5_2\vc6\x86\template" "--with-php-build=d:\php-sdk\snap_5_2\vc6\x86\php_build" "- -with-pdo-oci=D:\php-sdk\oracle\instantclient10\sdk,shared " "--with-oci8=D:\php-sdk\oracle\instantclient10\sdk,shared" サーバー API => コマンドラインインターフェイス仮想ディレクトリ サポート => 有効な構成ファイル (php.ini) パス => C:\WINDOWS ロードされた構成ファイル => C:\Program Files\EasyPHP5.2.10\www\drush\php.ini このディレクトリをスキャンして追加の .ini を探しますファイル => (なし) 解析された追加の .ini ファイル => (なし) PHP API => 20041225 PHP 拡張機能 =>20060613 Zend 拡張機能 => 220060519 デバッグ ビルド => スレッド セーフなし => 有効 Zend メモリ マネージャー => IPv6 サポート有効 => 有効 登録済み PHP ストリーム => php、ファイル、データ、http、ftp、compress.zlib 登録済みストリーム ソケット トランスポート = > tcp、udp 登録済みストリーム フィルタ => convert.iconv。、string.rot13、string.toupper、string.tolower、string.strip_tags、convert. 、消費、zlib.*

このプログラムは、Zend Scripting Language Engine: Zend Engine v2.2.0、Copyright (c) 1998-2009 Zend Technologies を利用します。


構成

PHP コア

ディレクティブ => ローカル値 => マスター値 allow_call_time_pass_reference => オフ => オフ allow_url_fopen => オン => オン allow_url_include => オフ => オフ always_populate_raw_post_data => オフ => オフ arg_separator.input => & => & arg_separator.output = > & => & asp_tags => Off => Off auto_append_file => 値なし => 値なし auto_globals_jit => On => On auto_prepend_file => 値なし => 値なし browscap => 値なし => 値なし default_charset => いいえ値 => 値なし default_mimetype => text/html => text/html define_syslog_variables => Off => Off disable_classes => 値なし => 値なし disable_functions => 値なし => 値なし display_errors => STDOUT => STDOUT display_startup_errors = > オン => オン doc_root => 値なし =>値なし docref_ext => 値なし => 値なし docref_root => 値なし => 値なし enable_dl => On => オン error_append_string => 値なし => 値なし error_log => 値なし => 値なし error_prepend_string => 値なし=> 値なし error_reporting => 6143 => 6143 Exposure_php => On => Extension_dir => C:\Program Files\EasyPHP5.2.10\php\ext\ => C:\Program Files\EasyPHP5.2.10\php\ext \ file_uploads => オン => オン Highlight.b => #FFFFFF => #FFFFFF ハイライト.コメント => #FF8000 => #FF8000 ハイライト.デフォルト => #0000BB => #0000BB ハイライト.html => #000000 => #000000 ハイライト.キーワード => #007700 => #007700 ハイライト.文字列 => #DD0000 => #DD0000 html_errors => オフ => オフ ignore_repeated_errors => オフ => オフ ignore_repeated_source => オフ =>オフ ignore_user_abort => オフ => オフ Implicit_flush => オン => オン include_path => .;C:\php5\pear => .;C:\php5\pear log_errors => オン => オン log_errors_max_len => 1024 => 1024 magic_quotes_gpc => オフ => オフ magic_quotes_runtime => オフ => オフ magic_quotes_sybase => オフ => オフ mail.force_extra_parameters => 値なし => 値なし max_execution_time => 0 => 0 max_input_nesting_level => 64 => 64 max_input_time => - 1 => -1 memory_limit => 128M => 128M open_basedir => 値なし => 値なし output_buffering => 0 => 0 output_handler => 値なし => 値なし post_max_size => 8M => 8M 精度 => 14 => 14 realpath_cache_size => 16K => 16K realpath_cache_ttl => 120 => 120 register_argc_argv => オン => オン register_globals => オフ =>オフ register_long_arrays => オフ => オフ report_memleaks => オン => オン report_zend_debug => オフ => オフ safe_mode => オフ => オフ safe_mode_exec_dir => 値なし => 値なし safe_mode_gid => オフ => オフ safe_mode_include_dir => 値なし=> 値なし sendmail_from => 値なし => 値なし sendmail_path => 値なし => 値なし serialize_precision => 100 => 100 short_open_tag => オフ => オフ SMTP => localhost => localhost smtp_port => 25 => 25 sql.safe_mode => Off => Off track_errors => On => On unserialize_callback_func => 値なし => 値なし upload_max_filesize => 2M => 2M upload_tmp_dir => ${path}\tmp\ => ${path}\tmp \ user_dir => 値なし => 値なし variables_order => GPCS => GPCS xmlrpc_error_number => 0 => 0 xmlrpc_errors =>オフ => オフ y2k_compliance => オン => オン zend.ze1_compatibility_mode => オフ => オフ

【スキップ】

みずい

MysqlI サポート => 有効なクライアント API ライブラリ バージョン => 5.1.42 クライアント API ヘッダー バージョン => 5.0.51a MYSQLI_SOCKET => /tmp/mysql.sock

ディレクティブ => ローカル値 => マスター値 mysqli.default_host => 値なし => 値なし mysqli.default_port => 3306 => 3306 mysqli.default_pw => 値なし => 値なし mysqli.default_socket => 値なし => なし値 mysqli.default_user => 値なし => 値なし mysqli.max_links => 無制限 => 無制限 mysqli.reconnect => オフ => オフ

何か案が?

よろしく。

4

2 に答える 2

1

おそらく拡張機能の互換性の問題です。モジュールが PHP のバージョン用にコンパイルされていないか、モジュールが破損または欠落しています。

コマンドライン PHP インタープリターが正しい拡張ディレクトリを見つけられない場合、他の LAMP スタックでこれが発生するのを見てきました。

于 2010-07-16T22:39:00.830 に答える
0

正しい軌道に乗せてくれたすべてのコメントと回答のおかげで、ようやく問題を見つけました。MyQSLi のバージョンは、Web サーバーを使用する場合は問題ありませんでしたが、コマンド ラインを使用する場合は問題ありませんでした。提案どおりに php -i を実行すると、これに気付きました。したがって、この問題を解決するには、ここからファイルをダウンロード、PHP \EXT ディレクトリに配置して、古いファイルを置き換える必要があります。

よろしくお願いします。

于 2010-07-19T13:18:01.940 に答える