在Zend_execute.lo上PHP 5.2.9构建失败 - 内存不足?

时间:2009-06-09 14:27:45

标签: php build compilation php-internals

我正在尝试使用EXIF支持编译PHP。每次我尝试在运行CentOS 5.3的虚拟专用服务器上构建PHP 5.2.9时,它都会在构建zend_execute.lo时失败。我尝试自己编译该文件,但它失败了。在内存之后分配[####]字节的内存说。

如何编译PHP?

1 个答案:

答案 0 :(得分:0)

zend_vm_execute.c文件包含整个执行程序,编译它可以轻松消耗超过100 MB的内存。建议的oslution是在具有更多内存的盒子上编译。如果 - 无论出于何种原因 - 是不可能的,您可能会尝试禁用编译器优化(使用屏幕上打印的命令并用-O0替换 - = 2并手动运行)这会损害您的性能或者您可以尝试使用使用以下选项之一的另一个VM实现:

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

但是那个agian可能会伤害oyur的表现并给其他麻烦。如上所述:获取一个包含更多meory的框并在那里进行编译以确保安全 - 只要所使用的库使用相同的版本,就不必在运行PHP的系统上进行编译。