网站地图

linux下编译安装PHP

创建时间:2013-11-14 18:34:54最后修改:2014-04-23 20:15:46

一、PHP编译安装前首先要下载PHP源码包,下载地址:

http:/www.php.net/downloads.php

二、解压源码包:

tar -xzvf 下载下来的文件名

三、编译安装PHP:

./configure --prefix=/usr/local/php --with-config-file-path=/usr/local/php/etc --with-gd --with-jpeg-dir --with-png-dir --with-freetype-dir --with-iconv --with-zlib --with-openssl --with-mcrypt --with-curl --with-xmlrpc --with-mhash --with-pdo-mysql --with-mysql --with-mysqli --enable-xml --enable-bcmath --enable-shmop --enable-sysvsem --enable-sysvshm --enable-sysvmsg --enable-inline-optimization --enable-mbregex --enable-fpm --enable-mbstring --enable-ftp --enable-gd-native-ttf --enable-pcntl --enable-sockets --enable-zip --enable-soap --with-gettext --enable-session --enable-pdo --enable-fpm --disable-debug

make && make install  

四、复制PHP配置文件

cp php.ini-production /usr/local/php/etc/php.ini

mv /usr/local/php/etc/php-fpm.conf.default /usr/local/php/etc/php-fpm.conf
 

五、启动php-fpm

/usr/local/php/sbin/php-fpm

【注】安装过程常见错误

错误1:Configure: error: xml2-config not found. Please check your libxml2 installation.
解决方法:yum install libxml2 libxml2-devel

错误2:Configure: error: libjpeg.(also) not found.
解决方法:yum install libjpeg libjpeg-devel

错误3:Configure: error: libpng.(also) not found.
解决方法:yum install libpng libpng-devel

错误4:configure: error: mcrypt.h not found. Please reinstall libmcrypt.
解决方法:yum install libmcrypt libmcrypt-devel

错误5:configure: error: Cannot find OpenSSL’s <evp.h>
解决方法:yum install openssl openssl-devel

错误6:Configure: error: Please reinstall the BZip2 distribution
解决方法:yum install bzip2 bzip2-devel

【附】php安装核心配置选项列表

1、杂项选项

选项说明
--enable-debug编译时加入调试符号。
--with-layout=TYPE设置被安装文件的布局。TYPE 是 PHP(默认)或 GNU。
--with-pear=DIR在 DIR(默认为 PREFIX/lib/php)中安装 PEAR。
--without-pear不安装 PEAR。
--enable-sigchild使用 PHP 自带的 SIGCHLD 处理器。
--disable-rpath禁用在搜索路径中传递其他运行库。
--enable-libgcc启用 libgcc 的精确链接。
--enable-php-streams包含试验性的 PHP 流。不要使用此选项,除非是要测试代码!
--with-zlib-dir[=DIR]定义 zlib 的安装目录。
--enable-trans-sid启用透明 session id 传输。仅适用于 PHP 4.1.2 或更低版本。PHP 4.2.0 以后,透明 sid 功能默认被编译其中。
--with-tsrm-pthreads使用 POSIX 线程(默认)。
--enable-shared[=PKGS]编译共享库 [default=yes]。
--enable-static[=PKGS]编译静态库 [default=yes]。
--enable-fast-install[=PKGS]为快速安装优化 [default=yes]。
--with-gnu-ld假设 C 编译器使用 GNU ld [default=no]。
--disable-libtool-lock避免锁死(可能破坏并联的编译)。
--with-pic尝试仅使用 PIC/非 PIC 对象 [default=use both]。
--enable-memory-limit编译内存限制支持功能。
--disable-url-fopen-wrapper禁用 URL 形式的 fopen 封装协议。该协议允许通过 HTTP 或者 FTP 访问文件。
--enable-versioning仅导出必须的符号。查看 INSTALL 文件以获得更多信息。
--with-imsp[=DIR]包含 IMSP 支持(DIR 是 IMSP 的 include 目录和 libimsp.a 所在目录)。此选项仅在 PHP 3 中有效!
--with-mck[=DIR]包含 Cybercash MCK 支持。DIR 是 cybercash mck 的编译目录,默认为 /usr/src/mck-3.2.0.3-linux。更多帮助情查看 extra/cyberlib 内的文件。此选项仅在 PHP 3 中有效!
--with-mod-dav=DIR通过 Apache 的 mod_dav 实现对 DAV 的支持。DIR 是 mod_dav 的安装目录 (仅对以 Apache 模块方式安装的 PHP 有效)。此选项仅在 PHP 3 中有效!
--enable-debugger编译远程调试功能。此选项仅在 PHP 3 中有效!
--enable-versioning利用 Solaris 2.x 和 Linux 提供的版本管理(versioning)和范围(scoping)。此选项仅在 PHP 3 中有效!

2、PHP 选项

选项说明
--enable-maintainer-mode对偶然安装一下的情形启用此选项,使得不检查编译规则和依赖关系。
--with-config-file-path=PATH设置 php.ini 的搜索路径。默认为 PREFIX/lib。
--enable-safe-mode默认启用安全模式。
--with-exec-dir[=DIR]在安全模式时仅允许在 DIR 目录中执行。默认目录为 /usr/local/php/bin。
--enable-magic-quotes默认启用 magic quotes。
--disable-short-tags默认禁用短形式的开始标签 <? 。

3、SAPI 选项

选项说明
--with-aolserver=DIR指定 AOLserver 的安装路径。
--with-apxs[=FILE]编译共享的 Apache 模块。FILE 是可选的 Apache apxs 工具的路径,默认指向 apxs。请确认指定的 apxs 已经安装在服务器中,并且它不是 Apache 源码包中的那个 apxs。
--with-apache[=DIR]编译静态 Apache 模块。DIR 是 Apache 编译目录的顶层,默认为 /usr/local/apache
--with-mod_charset启用 mod_charset 的转换表(俄文的 Apache 使用)。
--with-apxs2[=FILE]编译共享的 Apache 2.0 模块。FILE 是可选的 Apache apxs 工具的路径,默认指向 apxs。
--with-caudium=DIR为使用 Caudium 编译 PHP 为一个 Pike 模块。DIR 是 Caudium 服务器目录,默认为 /usr/local/caudium/server
--disable-cliPHP 4.3.0 之后的版本有效。禁止编译 PHP 的 CLI 版本(使用它将同时强制使用 --without-pear 选项)。更多信息请查考 PHP 的命令行模式
--enable-embed[=TYPE]启用编译嵌入的 SAPI 库。TYPE 或者为 shared或者为 static,默认为 shared。PHP 4.3.0 之后的版本有效。
--with-fhttpd[=DIR]编译 fhttpd 模块。DIR 是 fhttpd 源代码目录,默认为 /usr/local/src/fhttpd。PHP 4.3.0 及以后的版本此选项不再有效。
--with-isapi=DIR为 Zeus 服务器以 ISAPI 模块方式编译 PHP。
--with-nsapi=DIR指定 Netscape/iPlanet/SunONE 的安装目录。
--with-phttpd=DIR 
--with-pi3web=DIR为 Pi3Web 服务器编译 PHP 模块。
--with-roxen=DIR以 Pike 模块方式编译 PHP。DIR 是 Roxen 的根目录,默认为 /usr/local/roxen/server。
--enable-roxen-zts使用 Zend 线程安全(ZTS)编译 Roxen 模块。
--with-servlet[=DIR]包含 servlet 支持。DIR 是 JSDK 的安装目录。此 SAPI 要求 java 扩展必须作为共享模块编译到 PHP 中。
--with-thttpd=SRCDIR编译 PHP 为 thttpd 模块。
--with-tux=MODULEDIR编译 PHP 为 TUX 模块(仅在 Linux 下有效)。
--with-webjames=SRCDIR编译 PHP 为 WebJames 模块(仅在 RISC 操作系统中有效)。
--disable-cgi禁止编译 CGI 版本的 PHP。PHP 4.3.0 之后的版本有效。
--enable-force-cgi-redirect启用内部服务器重定向的安全检测。如果在 Apache 下使用 CGI 版本的 PHP,请启用该选项。
--enable-discard-path如果启用该选项,PHP CGI 目录可以安全的放在 web 目录树的外面,人们无法避开 .htaccess 的安全限制。
--with-fastcgi编译 PHP 为 FastCGI 应用程序。PHP 4.3.0 及以后的版本此选项不再有效,应该使用 --enable-fastcgi选项。
--enable-fastcgi如果启用,CGI 模块将被编译为支持 FastCGI。PHP 4.3.0 之后的版本有效。
--disable-path-info-check如果该选项被禁用,例如 /info.php/test?a=b形式的路径将不能工作。PHP 4.3.0 之后的版本有效。更多信息请参考 » Apache 手册