Назад | Перейти на главную страницу

PHP 5.2.11: Невозможно загрузить жалобы на динамическую библиотеку

Я установил PHP 5.2.11 и после включения модуля php_mssql.dll (и обязательного перезапуска служб) начал получать предупреждения о невозможности загрузить динамическую библиотеку. Операционная среда - IIS ISAPI под Windows 2003 R2. Вот список того, что было проверено

  1. Файл существует в каталоге \ PHP \ ext и имеет ту же метку времени, что и другие библиотеки, поставляемые с дистрибутивом.
  2. Права доступа к файлу верны. Другие расширения включены и работают с такими же разрешениями.
  3. ntwdblib.dll был скопирован из установки SQL Server 2005 (согласно требованиям php.net для модуля)

Другие модули до и после записи php_mssql работают. Я также урезал и удалил все несущественные ссылки с заметными улучшениями. Я включил ведение журнала и включил все журналы ошибок в php.ini, журналы ничего не генерируют.

Поиск в Google обнаружил множество закрытых / нерешенных отчетов об ошибках на php.net и несколько разных близких совпадений, ни один из которых на самом деле не решил проблему и не привел к какому-либо вдохновению.

Поскольку это недавно меня укусило, вам следует убедиться, что системный путь включает каталог, в котором установлен PHP.

Панель управления -> Система -> Дополнительно -> Переменные среды -> Выберите путь в разделе «Системные переменные» и затем нажмите кнопку «Изменить» (обязательно нажмите нижнюю кнопку «Изменить» под «Системными переменными»).
Просмотрите небольшое текстовое поле, чтобы убедиться, что ваш каталог PHP указан. Если нет, вы можете добавить его, добавив точку с запятой к предыдущему элементу, а затем введя путь (мой - C: \ PHP)

Обнаружил проблему: по-видимому, msvscrt.dll не находился в том месте, которое сделало бы php счастливым. Сделал копию в папке C: \ PHP, и теперь все работает правильно. Переменная окружения Path была хорошим советом, но я уже дважды проверил его.