Пока я отлаживаю PHP Script в Eclipse, он не загружает расширение MySQL - PullRequest
5 голосов
/ 26 апреля 2011

Я установил Eclipse и xDebug в Ubuntu 10.10.
Когда я отлаживаю какой-нибудь php-файл как страницу, это прекрасно работает.
Когда я пытаюсь отладить его как скрипт, я выдаю сообщение, что расширение mysqlне загружен.
Я установил следующие параметры для исполняемого файла PHP:

  • Путь к исполняемому файлу: / usr / bin / php
  • INI-файл PHP: / etc / php5 / apache2/php.ini
  • Тип SAPI: CLI
  • Отладчик PHP: XDebug

Я написал следующий скрипт:

test.php
<?php<br> $ext = get_loaded_extensions();<br> print_r($ext);<br> ?>

Когда я помещаю в командную строку / usr / bin / php test.php
, я даю 50 загруженных модулей, включая mysql и mysqli.
Когда я отлаживаю его как страницу в EclipseЯ даю те же модули и xdebug.
Когда я отлаживаю его как страницу в Eclipse, я даю 45 модулей, включая xdebug, но mysql и mysqli не загружаются.

Ответы [ 3 ]

4 голосов
/ 28 мая 2011

после борьбы с этой проблемой в течение нескольких часов сегодня я решил вручную cat всю информацию в одном файле .ini и начал затмение с eclipse -clean. что-то вроде следующего скрипта должно сработать:

#!/bin/bash
mkdir /etc/php5/cli_eclipse
cat /etc/php5/cli/php.ini /etc/php5/conf.d/* > /etc/php5/cli_eclipse/php.ini

(очевидно, вы могли бы проверить, существует ли каталог и т. Д., Но этот скрипт здесь только для иллюстративных целей. Для его выполнения вам понадобится учетная запись суперпользователя / sudo).

укажите время выполнения php в eclipse под window -> preferences -> PHP -> PHP Executables на созданный файл и перезапустите eclipse один раз с флагом -clean. pdt должен создать временные файлы "php.ini", содержащие всю необходимую информацию.

3 голосов
/ 18 июня 2011

Команда Eclipse PDT решила ввести опцию -n для исправления ошибки # 324073 . Таким образом, был загружен только php.ini из / tmp / zend_debug / ..., а все дополнительные файлы INI не были загружены.

Это было введено с PDT 2.2.0 M201010110334 (2010/10/11).

Для получения дополнительной информации см. Следующие ссылки:

1 голос
/ 26 апреля 2011

Попробуйте вызвать описанную здесь функцию: http://php.net/manual/en/function.php-ini-loaded-file.php и посмотрите, вернется ли она точно по тому же пути.В Ubuntu, как и в Debian, конфигурация php разбита на множество файлов.Посмотрите на / etc / php5 (или аналогичный путь).

В качестве крайней меры я бы написал свою собственную конфигурацию и сослался на нее в php eclipse, выполняемой как конфигурация скрипта, и убедился, что конфигурация включает и ссылается на расширение mysql..

...