Сборка PHP 5.2.9 завершается неудачно на zend_execute.lo - недостаточно памяти? - PullRequest
0 голосов
/ 09 июня 2009

Я пытаюсь скомпилировать PHP с поддержкой EXIF. Каждый раз, когда я пытаюсь собрать PHP 5.2.9 на своем виртуальном выделенном сервере, работающем под CentOS 5.3, происходит сбой, когда дело доходит до сборки zend_execute.lo. Я попытался скомпилировать только этот файл сам по себе, и это не удалось. Говорит, что из памяти выделяется [####] байт после ... чего-то.

Как мне скомпилировать PHP?

1 Ответ

0 голосов
/ 10 ноября 2009

Файл zend_vm_execute.c включает в себя весь исполнитель, и его компиляция может легко занять более 100 МБ памяти. Предложенное решение заключается в компиляции на коробке с большим объемом памяти. Если это - по какой-либо причине - невозможно, вы можете попытаться отключить оптимизацию компилятора (возьмите команду, напечатанную на вашем экране, замените - = 2 на -O0 и запустите ее вручную), что ухудшит вашу производительность, или вы можете попробовать другая реализация виртуальной машины с использованием одного из следующих параметров:

--with-zend-vm=CALL
--with-zend-vm=SWITCH
--with-zend-vm=GOTO

Но этот агиан может повредить производительности и вызвать другие проблемы. Как сказано: получите коробку с большим количеством памяти и скомпилируйте ее там, чтобы быть в безопасности - вам не нужно компилировать систему, на которой вы используете PHP, если используемые библиотеки используют одну и ту же версию.

...