centos源码编译php5 mcrypt模块步骤详解
<p>步骤:<br>
1.从php.net上面下载php5.3.x版本的源码;</p>
<p>
2.centos安装相应的扩展包:</p>
<p>
</p>
<div class="codetitle">
<span><u>复制代码</u></span> 代码如下:</div>
<div class="codebody" id="code45776">
<br>
yum install libmcrypt libmcrypt-devel mcrypt mhash</div>
<p>
</p>
<p>
下面的开发环境是为了编译整个php源码准备的环境,此次编译mcrypt扩展不需要执行.</p>
<p>
</p>
<div class="codetitle">
<span><u>复制代码</u></span> 代码如下:</div>
<div class="codebody" id="code37490">
<br>
yum install -y httpd-devel libtool-ltdl libtool-ltdl-devel openssl-devel curl-devel \<br>
libjpeg libjpeg-devel libpng libpng-devel freetype freetype-devel \<br>
libc-client libc-client-devel gd gd-devel libmcrypt libmcrypt-devel \<br>
sqlite sqlite-devel mysql-devel libicu libicu-devel pcre-devel</div>
<p>
</p>
<p>
3.确定phpize有安装到服务器:<br>
whereis phpize</p>
<p>
确定php-config的位置:<br>
whereis php-config<br>
执行:<br>
./configure –with-php-config=/usr/bin/php-config<br>
4.make错误:<br>
mcrypt.c:283: error: ‘PHP_FE_END' undeclared here (not in a function)<br>
解决方法:</p>
<p>
</p>
<div class="codetitle">
<span><u>复制代码</u></span> 代码如下:</div>
<div class="codebody" id="code15463">
<br>
sed -i 's|PHP_FE_END|{NULL,NULL,NULL}|' ./ext/**/*.c<br>
make</div>
<p>
</p>
<p>
如果是ZEND_MOD_END的错误,则执行:</p>
<div class="codetitle">
<span><u>复制代码</u></span> 代码如下:</div>
<div class="codebody" id="code54984">
<br>
sed -i 's|ZEND_MOD_END|{NULL,NULL,NULL}|' ./ext/**/*.c</div>
<p>
</p>
<p>
5.执行下 make test,测试没有问题.再执行:</p>
<div class="codetitle">
<span><u>复制代码</u></span> 代码如下:</div>
<div class="codebody" id="code36421">
<br>
make install</div>
<p>
<br>
6.增加文件: /etc/php.d/mcrypt.ini</p>
<div class="codetitle">
<span><u>复制代码</u></span> 代码如下:</div>
<div class="codebody" id="code18668">
<br>
; Enable mbstring extension module<br>
extension=mcrypt.so</div>
<p>
<br>
7.重启web服务器,检查php mcrypt是否安装成功.</p>
頁:
[1]