Нужна помощь Добавление версии NTS PHP в WampServer для запуска ZendLoader - PullRequest
0 голосов
/ 12 мая 2018

Я пытаюсь добавить версию PHP 5.5.38 NTS в WampServer 2.5, работающую на ПК, используя инструкции на этом сайте .

Как вы, возможно, знаете, WampServer 2.5поставляется в комплекте с поточно-ориентированной версией PHP 5.5.12, но я хочу запустить ZendLoader, для которого требуется версия NTS.

После добавления PHP 5.5.38 и открытия страницы входа на мой веб-сайт я получаю

Неустранимая ошибка: класс «mysqli» не найден в C: \ wamp \ www \ db_connect.php

php_error.log содержит предупреждение PHP для каждого .dllФайл php.ini пытается загрузить, например

Предупреждение PHP: Запуск PHP: невозможно загрузить динамическую библиотеку 'c: /wamp/bin/php/php5.5.38/ext/php_bz2.dll'- Указанный модуль не может быть найден.в поле «Неизвестно» в строке 0

И, как неудивительно, php_mysqli.dll является одним из них:

PHP Предупреждение: запуск PHP: не удается загрузить динамическую библиотеку 'c:/wamp/bin/php/php5.5.38/ext/php_mysqli.dll '- указанный модуль не найден.в Неизвестно в строке 0

Я установил extension_dir в файлах php.ini и phpForApache.ini на:

extension_dir = "c:/wamp/bin/php/php5.5.38/ext/"

Я проверил имя пути ичто все файлы .dll есть.

По какой-то странной причине phpinfo() говорит, что я все еще использую версию с поддержкой потоков:

Версия PHP 5.5.12 Безопасность потока: enabled

Хотя меню WampServer показывает его как Версия PHP 5.5.38

Когда я выхожу из Wampserver через меню, переименовываем php5.5.12 каталог _php5.5.12 в c:\wamp\bin\php и затем попытаться перезапустить WampServer, он не запустится, и я получаю следующую ошибку приложения:

Исключение Исключение в модуле wampmanager.exe на000F15AO.Не удалось выполнить действие запуска: система не может найти указанный файл.

EventViewer показывает:

Неправильное имя приложения: wampmanager.exe ,версия: 1.6.1.33, отметка времени: 0x2a425e19 Имя ошибочного модуля: KERNELBASE.dll, версия: 10.0.16299.402, отметка времени: 0x81d25214 Код исключения: 0x0eedfade Смещение ошибки: 0x00103f12 Идентификатор ошибочного процесса: 0xfa0 Время запуска приложения с ошибкой: 0x01d27f9 0: C: \ wamp \ wampmanager.exe Неверный путь к модулю: C: \ WINDOWS \ System32 \ KERNELBASE.dll Идентификатор отчета: 6f09b108-4472-4d89-8d51-9c69b53100db Полное имя ошибочного пакета: ИД приложения, относящегося к ошибочному пакету:

Идентификатор события: 1000 Уровень: ошибка

Кажется, он ищет какой-то файл в каталоге PHP 5.5.12, который я переименовал, и я не знаю, что и почему.Мне интересно, почему WampServer не может загрузить файлы DLL и почему он работает с PHP 5.5.12.

Мысли о том, как заставить PHP 5.5.38 NTS работать так, чтобы я мог запустить ZendLoader

1 Ответ

0 голосов
/ 13 мая 2018

Спасибо всем, кто рассматривал эту проблему.

Я обнаружил, что проблема в Apache и что mod_php не поддерживает версию PHP для NTS, поэтому я выбрал FastCGI.

Использованиеинструкции на https://websanova.com/blog/php/manually-adding-php-versions-to-wamp, и инструкции на https://commaster.net/content/installing-php-fastcgi-and-zend-opcache-wampserver, Я настроил Apache и PHP с Zend Guard / Zend Loader и все работает нормально.

Надеюсь, это поможет всем, кто сталкивается с этой проблемой.

...