Fork me on GitHub

The WebDevil

Enjoy development

Баг – не работает ZendOptimizer. При выполнении скрипта в браузере видим чистую страницу.

Наблюдения: Любопытно, но в консоли “php info.php” видим все чудесно. Очевидно, все прекрасно и с php-cgi. Опыт это доказал.

Данные: Итак, имеем

  • ось FreeBSD example.com 6.2-RELEASE FreeBSD 6.2-RELEASE #0.
  • скрипты, которые зашифрованы ZendGuard-ом.
  • апач версии apache-2.2.4.
  • PHP версии 5.2.3.

Такие скрипты работают только при установленном ZendOptimizer. На данный момент версия 3.3.

Лечение:
Первое что я увидел – народ советует удалить Suhosin-патч, якобы мешает он. У меня его удаление не дало результата.
Второе – народ сползал на апач 1.3 и все само собой лечилось. Но это же неинтересно ;)

Я же дошел до того, что поставил к апачу mod_fcgid-2.1_1 и через него подключил php-cgi. Чудесным образом все заработало.

Вот что вышло в конфиге:

в /usr/local/etc/apache22/httpd.conf добавляем строку

LoadModule fcgid_module libexec/apache22/mod_fcgid.so

Потом чуть ниже добавляем вот такое:

<ifmodule mod_fcgid.c>                                                                                                                                      
  AddHandler fcgid-script .fcgi                                                                                                                          
</ifmodule>

Потом непосредственно в конфиге vhost’а добавляем вот такие строки:

AddType application/x-httpd-fastphp .php
Action application/x-httpd-fastphp /cgi-bin/php

phpinfo теперь должен показать что он работает через CGI/FastCGI. И криптованые скрипты в такой конфигурации работают чудесно.

Comments are closed.