Логотип   Простое и понятное управление
  Уникальные возможности по настройке
  Open Server скачали уже 1 022 051 раз!

Форум

Добро пожаловать, Гость!

Zend Guard Loader

Вопросы по работе с Apache, Nginx, PHP, MySQL, Sendmail и т.д.
Аватара пользователя
Максим
Сообщения: 4878
C нами: 5 лет 11 мес
Контакты:

Непрочитанное сообщение Максим » 30 янв 2014, 15:43

Этого файла в NTS версии PHP никогда не было и быть не должно. С Apache эта версия PHP работать не умеет, можно использовать только Nginx.

X-Fly
Сообщения: 7
C нами: 4 года 5 мес

Непрочитанное сообщение X-Fly » 30 янв 2014, 19:46

Максим писал(а):Этого файла в NTS версии PHP никогда не было и быть не должно. С Apache эта версия PHP работать не умеет, можно использовать только Nginx.


Вот блин...

Погоди, но на хостингах ведь используется Apache + php5.3 + Zend Guard Loader (а значит там php - nonTS, правильно?)!
Получилось так, что проблема конкретно из-за зенда и php5.3.
Но у меня эта связка настроена на VDS с Debian7 (apache2-mpm-itk-2.2.22-13 + php5-5.3.3-7+squeeze17 + ZendGuardLoader), и там работает продакшн-версия сайта.
Необходимо поддерживать такой злостный движок локально для разработки на Windows. Я уже пробовал аналоги вроде Denwer и WAMP, но это все не то, убого, неудобно и не быстро для работы...

Аватара пользователя
Максим
Сообщения: 4878
C нами: 5 лет 11 мес
Контакты:

Непрочитанное сообщение Максим » 31 янв 2014, 01:08

X-Fly писал(а):Погоди, но на хостингах ведь используется Apache + php5.3 + Zend Guard Loader (а значит там php - nonTS, правильно?)!


Ну так и хостинги ведь на linux, а не на Windows. Под Windows nts версию php можно завести под апачем только через CGI, но такой конфигурации в Open Server нет, нужно настраивать. Если вас не устраивает Nginx и нужен именно апач, то настраивайте CGI самостоятельно, информации в google море.

X-Fly
Сообщения: 7
C нами: 4 года 5 мес

Непрочитанное сообщение X-Fly » 31 янв 2014, 09:25

Максим, спасибо за помощь! Настроил на FastCGI. Всё получилось :)
Для тех, кто еще будет натыкаться на эту ветку, оставлю подробную инструкцию.
А к тебе есть предложение: может быть стоит сделать отдельный модуль Apache2.2+php5.3+ZendGuard? По примеру, как у тебя реализован модуль Apache+Nginx

1. Скачиваем с http://windows.php.net/download PHP 5.3 Non Thread Safe в архиве
и распаковываем в D:\Develop\OpenServer\modules\php. Обзываем понятным для себя именем, н-р "PHP-5.3.27-nts"

2. Скачиваем с http://apachehaus.com/cgi-bin/download.plx Mod FCGID 2.3.7 for Apache 2.2.x
и файл "mod_fcgid.so" распаковываем из архива в папку "OpenServer\modules\http\Apache-2.2.25\modules"

3. Редактируем "OpenServer\userdata\config\Apache-2.2.25_server.conf":
3.1. Закомментируем строчки с модулем стандартного php:
#PHPINIDir "%sprogdir%/userdata/temp/config"
#LoadModule php5_module "%sprogdir%/modules/php/%phpdriver%/php5apache2_2.dll"
3.2. После них добавим строку для загрузки модуля FastCGI:
LoadModule fcgid_module modules/mod_fcgid.so
3.3. В блоке "Настройка прав доступа к серверу" разрешим ExecCGI, иначе самодиагностика OpenServer его не запустит. Конкретно, в секции:
<Directory "%sprogdir%/modules/system/html/openserver">
    AllowOverride None
    Options -MultiViews -Indexes -FollowSymLinks -IncludesNoExec -Includes +ExecCGI
    .....

3.4. Добавим свой блок с конфигурацией FastCGI куда-нибудь в конец:
#---------------------------------------------#
# Конфигурация FastCGI
#---------------------------------------------#
<IfModule fcgid_module>
FcgidInitialEnv PHPRC "%sprogdir%/userdata/temp/config"
   <Files ~ "\.php$>"
     AddHandler fcgid-script .php
     FcgidWrapper "%sprogdir%/modules/php/%phpdriver%/php-cgi.exe" .php
   </Files>
</IfModule>


4. Скачиваем с http://zend.com/en/products/guard/downloads?platform=Windows Zend Guard Loader (Runtime for PHP 5.3)
и файл "ZendLoader.dll" распаковываем в папку "OpenServer\modules\php\PHP-5.3.27-nts\zend"

5. Редактируем php.ini:
Для простоты настройки скопируем файл такого же билда TS-версии из "OpenServer\userdata\config\PHP-5.3.27_php.ini" в "OpenServer\userdata\config\PHP-5.3.27-nts_php.ini".
Закомментируем расширения, которых не было в оригинальном nonTS дистрибутиве (в моем случае это были php_imagick.dll, php_memcache.dll и php_mongo.dll), либо наоборот, при необходимости добавляем их в свой модуль.
В конце файла добавляем пару строчек:
zend_extension="%sprogdir%/modules/php/%phpdriver%/zend/ZendLoader.dll"
zend_loader.enable=1


Настраиваем OpenServer на нужные модули и запускаем =)

X-Fly
Сообщения: 7
C нами: 4 года 5 мес

Непрочитанное сообщение X-Fly » 10 фев 2014, 16:27

X-Fly писал(а):3. Редактируем "OpenServer\userdata\config\Apache-2.2.25_server.conf":


... добавлю еще для тех, кому нужен Xdebug: надо увеличить лимит таймаута FastCGI, добавьте для этого следующий параметр в секцию "<IfModule fcgid_module>":
FcgidIOTimeout 3600

max80dnepr
Сообщения: 17
C нами: 3 года 3 мес

Непрочитанное сообщение max80dnepr » 31 мар 2014, 22:26

Блин, всё проделал как описано выше, никак не получается запустить сервер, пишет :
Проверка состояния сервера
Не удалось запустить PHP-5.3.27-nts
Сбой запуска!

[Mon Mar 31 22:23:52 2014] [warn] Init: Session Cache is not configured [hint: SSLSessionCache]
[Mon Mar 31 22:23:52 2014] [warn] RSA server certificate CommonName (CN) `openserver' does NOT match server name!?
[Mon Mar 31 22:23:52 2014] [warn] RSA server certificate CommonName (CN) `openserver' does NOT match server name!?
[Mon Mar 31 22:23:52 2014] [warn] Init: Name-based SSL virtual hosts only work for clients with TLS server name indication support (RFC 4366)
[Mon Mar 31 22:23:53 2014] [warn] RSA server certificate CommonName (CN) `openserver' does NOT match server name!?
[Mon Mar 31 22:23:53 2014] [warn] RSA server certificate CommonName (CN) `openserver' does NOT match server name!?
[Mon Mar 31 22:23:53 2014] [warn] Init: Name-based SSL virtual hosts only work for clients with TLS server name indication support (RFC 4366)
[Mon Mar 31 22:23:53 2014] [notice] mod_bw : Memory Allocated 0 bytes (each conf takes 40 bytes)
[Mon Mar 31 22:23:53 2014] [notice] mod_bw : Version 0.92 - Initialized [0 Confs]
[Mon Mar 31 22:23:53 2014] [notice] mod_bw : Supported resolution for Timers [ Min: 1 Max: 1000000 ]
[Mon Mar 31 22:23:53 2014] [notice] mod_bw : Enabling High resolution timers [ 1 ms ]
[Mon Mar 31 22:23:53 2014] [notice] Apache/2.2.25 (Win32) mod_ssl/2.2.25 OpenSSL/0.9.8y mod_fcgid/2.3.7 mod_bw/0.92 configured -- resuming normal operations
[Mon Mar 31 22:23:53 2014] [notice] Server built: Jun 29 2013 16:08:05
[Mon Mar 31 22:23:53 2014] [notice] Parent: Created child process 3868
[Mon Mar 31 22:23:53 2014] [notice] Disabled use of AcceptEx() WinSock2 API
[Mon Mar 31 22:23:53 2014] [warn] Init: Session Cache is not configured [hint: SSLSessionCache]
[Mon Mar 31 22:23:53 2014] [warn] RSA server certificate CommonName (CN) `openserver' does NOT match server name!?
[Mon Mar 31 22:23:53 2014] [warn] RSA server certificate CommonName (CN) `openserver' does NOT match server name!?
[Mon Mar 31 22:23:53 2014] [warn] Init: Name-based SSL virtual hosts only work for clients with TLS server name indication support (RFC 4366)
[Mon Mar 31 22:23:53 2014] [warn] RSA server certificate CommonName (CN) `openserver' does NOT match server name!?
[Mon Mar 31 22:23:53 2014] [warn] RSA server certificate CommonName (CN) `openserver' does NOT match server name!?
[Mon Mar 31 22:23:53 2014] [warn] Init: Name-based SSL virtual hosts only work for clients with TLS server name indication support (RFC 4366)
[Mon Mar 31 22:23:53 2014] [notice] mod_bw : Memory Allocated 0 bytes (each conf takes 40 bytes)
[Mon Mar 31 22:23:53 2014] [notice] mod_bw : Version 0.92 - Initialized [0 Confs]
[Mon Mar 31 22:23:53 2014] [notice] mod_bw : Supported resolution for Timers [ Min: 1 Max: 1000000 ]
[Mon Mar 31 22:23:53 2014] [notice] mod_bw : Enabling High resolution timers [ 1 ms ]
[Mon Mar 31 22:23:53 2014] [notice] Child 3868: Child process is running
[Mon Mar 31 22:23:53 2014] [notice] Child 3868: Acquired the start mutex.
[Mon Mar 31 22:23:53 2014] [notice] Child 3868: Starting 32 worker threads.
[Mon Mar 31 22:23:53 2014] [notice] Child 3868: Listening on port 443.
[Mon Mar 31 22:23:53 2014] [notice] Child 3868: Listening on port 80.



вот что выдало в смд

D:\OpenServer\userdata\temp>"D:\OpenServer\modules\database\MySQL-5.1.71\bin\mys
qld.exe" --defaults-file="D:\OpenServer\userdata\temp\config\my.ini" --user=root
 --standalone --console
140331 22:28:46 [Note] Plugin 'FEDERATED' is disabled.
140331 22:28:46  InnoDB: Initializing buffer pool, size = 20.0M
140331 22:28:46  InnoDB: Completed initialization of buffer pool
140331 22:28:46  InnoDB: Started; log sequence number 0 9509956
140331 22:28:47 [Note] Event Scheduler: Loaded 0 events
140331 22:28:47 [Note] D:\OpenServer\modules\database\MySQL-5.1.71\bin\mysqld.ex
e: ready for connections.
Version: '5.1.71-community-log'  socket: ''  port: 3306  MySQL Community Server
(GPL)
140331 22:28:56 [Note] D:\OpenServer\modules\database\MySQL-5.1.71\bin\mysqld.ex
e: Normal shutdown

140331 22:28:56 [Note] Event Scheduler: Purging the queue. 0 events
140331 22:28:56  InnoDB: Starting shutdown...
140331 22:28:57  InnoDB: Shutdown completed; log sequence number 0 9509956
140331 22:28:57 [Note] D:\OpenServer\modules\database\MySQL-5.1.71\bin\mysqld.ex
e: Shutdown complete

Завершить выполнение пакетного файла [Y(да)/N(нет)]? n

D:\OpenServer\userdata\temp>PAUSE
Для продолжения нажмите любую клавишу . . .

grusin
Сообщения: 1
C нами: 2 года 2 мес

Непрочитанное сообщение grusin » 09 окт 2014, 18:27

X-Fly, огромное спасибо за инструкцию - мне б в полвека не разобраться!

[upd=1412870991][/upd]
Рано радовался - сервер не запускается с модулем PHP-5.3.27-nts :D
2014-10-09 19:14:28  --------------------------------------------
2014-10-09 19:14:28  Начало процедуры запуска сервера
2014-10-09 19:14:28  Обновление Hosts файла
2014-10-09 19:14:28  Обновление конфигурации MySQL-5.5
2014-10-09 19:14:28  Обновление конфигурации Sendmail
2014-10-09 19:14:28  Обновление конфигурации PHP-5.3.27-nts
2014-10-09 19:14:28  Обновление конфигурации PHPMyAdmin
2014-10-09 19:14:28  Обновление конфигурации Apache-2.2
2014-10-09 19:14:28  Запуск MySQL-5.5
2014-10-09 19:14:28  Запуск Apache-2.2
2014-10-09 19:14:28  Проверка состояния сервера
2014-10-09 19:14:50  Не удалось запустить Apache-2.2
2014-10-09 19:14:50  Сбой запуска!
2014-10-09 19:14:50  --------------------------------------------
2014-10-09 19:14:50  Начало процедуры остановки сервера
2014-10-09 19:14:50  Остановка системных модулей
2014-10-09 19:14:51  Отключение виртуального диска
2014-10-09 19:14:51  Веб-сервер успешно остановлен!

max80dnepr
Сообщения: 17
C нами: 3 года 3 мес

Непрочитанное сообщение max80dnepr » 30 окт 2014, 22:56

У меня по началу тоже был сбой запуска,я пропустил плюсик +ExecCGI и забыл закомментировать расширения в файле "OpenServer\userdata\config\PHP-5.3.27-nts_php.ini".Ищи, значит, где-то что-то пропустил.А мне вообще необходимо понизить версию PHP потому как Zend Guard 3.3 собака ругается
Fatal error: Incompatible file format: The encoded file has format major ID 3, whereas the Loader expects 4 in D:\OpenServer\domains\localhost\registr.php on line 0

Тимофей
Сообщения: 1
C нами: 1 год 7 мес

Непрочитанное сообщение Тимофей » 24 апр 2015, 08:52

Доброе утро, все сделал как написано выше только на версии php 5.5.2.4 и Apache-2.4+Nginx-1.7 запуск сервера проходит без ошибок, но везде вижу только ошибку 504 Gateway Time-out. подскажите что не так?
Вложения
Снимок.PNG

locksmith
Сообщения: 1
C нами: 1 год 7 мес

Непрочитанное сообщение locksmith » 07 май 2015, 04:51

Для Open Server 5.2.2 в php.ini для работы zendguard надо прописать так:
zend_extension="c:/openserver/modules/php/PHP-5.3nts/zend/ZendLoader.dll"
zend_loader.enable=1

а как ниже - не работает!
zend_extension="%sprogdir%/modules/php/%phpdriver%/zend/ZendLoader.dll"
zend_loader.enable=1


[upd=1430967495][/upd]
Кто-нибудь знает недостающие расширения можно просто скопировать из ts версии php или надо специальные для nts версии?


Вернуться в «Модули и инструменты»

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и 0 гостей