PHP фатальная ошибка при вызове mysqli_fetch_array - PullRequest
0 голосов
/ 16 июля 2010

Я использую Drush, которая запускает php в командной строке. Я скопировал мой исходный файл php.ini в локальный каталог, так что php использует ту же конфигурацию, как если бы он был запущен веб-сервером. При использовании с веб-сервером это работает хорошо. К сожалению, когда запускается с командной строкой, PHP дает сбой, когда drush вызывает mysqli_fetch_array и / или mysqli_fetch_object, в то время как при вызове mysqli_fetch_row все в порядке ... Я использую EasyPHP 5.2.10 под windows.

Сообщение об ошибке: Произошло необработанное исключение win32 в php.exe [5772]. Отладка Just-In_time в этом исключении завершилась следующей ошибкой: ни на одном установленном отладчике не включена отладка Just-In_time. В Visual Studio отладку Just-In-Time можно включить в меню Инструменты / Параметры / Отладка / Just-In-Time.

Как и просили в комментариях, вот информация о PHP и модуле MySQLi. Примечание : версия библиотеки API клиента и версия заголовка API Cient отличаются. Тем не менее, они одинаковы при использовании веб-сервера phpinfo () ... Может ли это быть проблемой? Однако это свежая установка easyPHP ... Oo '.

php -v

PHP 5.2.10 (cli) (сборка: 17 июня 2009 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 Дата сборки => 17 июня 2009 16:16:01 Настроить Command => 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, общий "" --with-oci8 = D: \ php-sdk \ oracle \ instantclient10 \ sdk, общий доступ " API сервера => Интерфейс командной строки Поддержка виртуальных каталогов => включена Путь к файлу конфигурации (php.ini) => C: \ WINDOWS Загруженный файл конфигурации => C: \ Program Files \ EasyPHP5.2.10 \ www \ drush \ php.ini Сканировать этот каталог на наличие дополнительных файлов .ini => (нет) проанализированы дополнительные файлы .ini => (нет) PHP API => 20041225 Расширение PHP => 20060613 Расширение Zend => 220060519 Debug Build => нет Thread Safety => включен Zend Memory Manager => включен Поддержка IPv6 => включена Зарегистрированные потоки PHP => php, файл, данные, http, ftp, compress.zlib Зарегистрированный поток Socket Transports => tcp, udp Фильтры зарегистрированного потока => convert.iconv. , string.rot13, string.toupper, string.tolower, string.strip_tags, convert. , потреблено, zlib. *

Эта программа использует движок языка Zend Scripting: Zend Engine v2.2.0, Copyright (c) 1998-2009 Zend Technologies


Конфигурация

PHP Core

Директива => Локальное значение => Основное значение allow_call_time_pass_reference => Off => Off allow_url_fopen => On => On allow_url_include => Off => Off always_populate_raw_post_data => Off => Off 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 => On => On doc_root => нет значения => нет значения docref_ext => нет значения => нет значения docref_root => нет значения => нет значения enable_dl => On => On error_append_string => нет значения => нет значения error_log => нет значения => нет значения error_prepend_string => нет значения => нет значения error_reporting => 6143 => 6143 expose_php => On => On extension_dir => C: \ Program Files \ EasyPHP5.2.10 \ php \ ext \ => C: \ Program Files \ EasyPHP5.2.10 \ php \ ext \ file_uploads => On => On highlight.bg => #FFFFFF => #FFFFFF highlight.comment => # FF8000 => # FF8000highlight.default => # 0000BB => # 0000BB highlight.html => # 000000 => # 000000 highlight.keyword => # 007700 => # 007700 highlight.string => # DD0000 => # DD0000 html_errors => Off => Off ignore_repeated_errors => Off => Off ignore_repeated_source => Off => Off ignore_user_abort => Off => Off implicit_flush => On => On include_path =>.; C: \ php5 \ pear =>.; C: \ php5 \ pear log_errors => On => On log_errors_max_len => 1024 => 1024 magic_quotes_gpc => Off => Off magic_quotes_runtime => Off => Off magic_quotes_sybase => Off => Off 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 => On => On register_globals => Off => Off register_long_arrays => Off => Off report_memleaks => On => On report_zend_debug => Off => Off safe_mode => Off => Off safe_mode_exec_dir => нет значения => нет значения safe_mode_gid => Off => Off safe_mode_include_dir => нет значения => нет значения sendmail_from => нет значения => нет значения sendmail_path => нет значения => нет значения serialize_precision => 100 => 100 short_open_tag => Off => Off 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 => $ {путь} \ tmp \ => $ {путь} \ tmp \ user_dir => нет значения => нет значения variable_order => GPCS => GPCS xmlrpc_error_number => 0 => 0 xmlrpc_errors => Off => Off y2k_compliance => On => On zend.ze1_compatibility_mode => Off => Off

[пропущено]

MySQLi

MysqlI Support => включено Версия клиентской библиотеки 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 => Unlimited => Unlimited mysqli.reconnect => Off => Off

Есть идеи?

Привет.

Ответы [ 2 ]

1 голос
/ 17 июля 2010

Возможно, проблема с расширением совместимости.Либо модуль не был скомпилирован для вашей версии PHP, либо он поврежден / отсутствует.

Я видел, как это происходит с другими стеками LAMP, когда интерпретатор PHP командной строки не находит правильный каталог расширения.

0 голосов
/ 19 июля 2010

Я наконец нашел свою проблему благодаря всем вашим комментариям и ответам, которые поставили меня на правильный путь.Версия MyQSLi была в порядке при работе с веб-сервером, но не с командной строкой.Я заметил это, когда делал php -i как предложено.Таким образом, чтобы исправить эту проблему, вы должны загрузить файлы здесь и поместить их в каталог PHP \ EXT для замены старых.

С наилучшими пожеланиями.

...