PHP 5.3 и Zend — перестали работать скрипты?

На момент написания этой статьи, zend уже научился работать с PHP 5.3 (но не с последними версиями), однако некоторые скрипты выдают что-то типа

malformed header from script. Bad header=dead.let: php, referer

Все дело в том, что скрипты кодированы слишком старой версией зенда. Лечится это так:

На CentOS, что бы сильно не заморачиваться, можно поставить PHP 5.2.17 и зенд к нему.
Для этого подключаем репозиторий Atomic, а в /etc/yum.conf прописываем:

exclude=php*5.3*

После этого удаляем текущую версию PHP, смотрим — что она потянет за собой, т.е. какие пакеты удалятся вместе с ней, а после этого yum install php ну и удаленные пакеты заодно.

Теперь можно установить старый добрый ZendOptimizer-5.2.so и все заработает.

А PHP более старшей версии, можно собрать из исходников отдельно и подключать в качестве CGI по необходимости (в принципе, обратный вариант — собрать PHP 5.2 дополнительно, а 5.3 оставить в качестве дефолтного, это уже на ваше усмотрение).

Опубликовано 2 февраля 2013 - информация могла устареть.

Ответить