异想天开

What's the true meaning of light, Could you tell me why

编译php作为Apache模块

日期:2015-03-18 19:50:07
  
最后更新日期:2017-10-19 11:09:25

【技术】

一. 下载安装包

官网下载php5.2.17源码包,使用了如下参数: [code lang="cpp"] ./configure --prefix=/usr/local/php --with-config-file-path=/etc/ --with-mysql=/usr/bin/mysql --with-mysqli=/usr/bin/mysql_config --with-iconv-dir=/usr/local --with-jpeg-dir --with-png-dir --with-zlib --with-libxml-dir --enable-xml --disable-rpath --enable-bcmath --enable-shmop --enable-sysvsem --enable-inline-optimization --with-curl --enable-mbregex --with-apxs2=/usr/sbin/apxs --enable-mbstring --with-mcrypt --with-gd --enable-gd-native-ttf --with-openssl --with-mhash --enable-pcntl --enable-sockets --with-xmlrpc --enable-zip --enable-soap --without-pear --with-zlib --enable-pdo --with-pdo-mysql --with-mysql --disable-fileinfo [/code] 备注: 1.由于是在512M vps里面编译,需要使用--disable-fileinfo,否则cc会莫名其妙的退出,应该是少了内存。 2.没有指定目录的,是使用系统默认的 3.由于apache 是yum install httpd.x86_64 这样安装的,所以还需要安装php依赖的库的开发版本。安装之前,可以先查找下yum list libxxx*。 4. --with-config-file-path=/etc/ 指定php.in的目录,这样设定,那么配置文件即/etc/php.ini --with-apxs2=/usr/sbin/apxs 这里更换成对应的httpd的apxs路径,apxs主要在编译httpd的扩展模块时使用。 若提示找不到apxs, 则需要安装httpd-devel.x86_6版本。

二. 设置配置

上诉编译成功后,就可以在httpd的安装目录的modules下面找到libphp5.so了,然后再在conf/httpd.conf里面添加: LoadModule php5_module modules/libphp5.so AddType application/x-httpd-php .php