共计 5716 个字符,预计需要花费 15 分钟才能阅读完成。
第一步 先下载 tzr.gz 的 php 源码包
然后 tar zxvf php-5.4.11.tar.gz
然后 cd php-5.4.11
然后复制如下编译代码
./configure \
–prefix=/usr/local/php \
–enable-zip \
–with-xsl \
–enable-zend-multibyte \
–enable-sockets \
–enable-soap \
–with-pdo-mysql=mysqlnd \
–with-mysql=mysqlnd \
–enable-pcntl \
–with-mcrypt \
–enable-fpm \
–enable-shmop \
–with-readline \
–enable-mbstring \
–with-mhash \
–enable-gd-native-ttf \
–with-freetype-dir \--with-t1lib=/usr/local/share/t1lib
\
–with-png-dir \
–with-jpeg-dir \
–with-gd \
–with-openssl-dir \
–enable-ftp \
–enable-exif \
–enable-dba \
–with-bz2 \
–enable-bcmath \
–with-curl
!!!
编译 PHP5 缺 t1lib 包解决方案
遇到这个报错:configure: error: Your t1lib distribution is not installed correctly. Please reinstall it.
以下是解决步骤:
1. 下载 t1lib-5.1.2.tar.gz
2. 解决依赖关系:apt-get build-dep t1lib
3. 安装:./configure & make without_doc & make install
4. 编译 php5 时在 ./configure
后加上 --with-t1lib=/usr/local/share/t1lib
。再次编译就能通过了。
如果提示 configure: error: Please reinstall readline – I cannot find readline.h 错误!
安装 sudo apt-get install libreadline-dev
然后再编译一下 就没错误了!
‘./configure’‘–prefix=/usr/local/php’‘–with-config-file-path=/etc’‘–with-mysql=/usr/local/mysql’‘–with-mysqli=/usr/local/mysql/bin/mysql_config’‘–with-iconv-dir=/usr/local’‘–with-freetype-dir’‘–with-jpeg-dir’‘–with-png-dir’‘–with-zlib’‘–with-libxml-dir=/usr’‘–enable-xml’‘–disable-rpath’‘–enable-safe-mode’‘–enable-bcmath’‘–enable-shmop’‘–enable-sysvsem’‘–enable-inline-optimization’‘–with-curl’‘–with-curlwrappers’‘–enable-mbregex’‘–enable-fpm’‘–enable-mbstring’‘–with-mcrypt’‘–with-gd’‘–enable-gd-native-ttf’‘–with-openssl’‘–with-mhash’‘–enable-pcntl’‘–enable-sockets’‘–with-xmlrpc’‘–enable-zip’‘–enable-soap’
出现得错误如下:
报错:configure: error: png.h not found.
解决办法:
apt-get -y install libpng12-dev
错误一:
configure: error: xml2-config not found. Please check your libxml2 installation.
而我已经安装过了 libxml2, 但是还是有这个提示:
解决办法:
# sudo apt-get install libxml2-dev
错误二:
configure: error: Please reinstall the BZip2 distribution
而我也已经安装了 bzip2,网上找到得解决方案都是需要安装 bzip2-dev,可是 11.10 里面没有这个库。
解决办法:在网上找到 bzip2-1.0.5.tar.gz,解压,直接 make ,sudo make install.
错误三:
configure: error: Please reinstall the libcurl distribution -easy.h should be in /include/curl/
解决办法:
# sudo apt-get install libcurl4-gnutls-dev
错误四:
configure: error: jpeglib.h not found.
解决办法:
# sudo apt-get install libjpeg-dev
错误五:
configure: error: png.h not found.
解决办法:
# sudo apt-get install libpng-dev
错误六:
configure: error: libXpm.(a|so) not found.
解决办法:
# sudo apt-get install libxpm-dev
错误七:
configure: error: freetype.h not found.
解决办法:
# sudo apt-get install libfreetype6-dev
错误八:
configure: error: Your t1lib distribution is not installed correctly. Please reinstall it.
解决办法:
# sudo apt-get install libt1-dev
错误九:
configure: error: mcrypt.h not found. Please reinstall libmcrypt.
解决办法:
# sudo apt-get install libmcrypt-dev
错误十:
configure: error: Cannot find MySQL header files under yes.
Note that the MySQL client library is not bundled anymore!
解决办法:
# sudo apt-get install libmysql++-dev
错误十一:
configure: error: xslt-config not found. Please reinstall the libxslt >= 1.1.0 distribution
解决办法:
# sudo apt-get install libxslt1-dev
如上错误都解决之后,再次./config…. 没有错误之后,
# make
# sudo make install
将编译安装的 PHP 输入到环境变量中
编译后 将其 PHP 路径 输入到环境变量中,要不然系统执行 PHP 的文件时 不知道 PHP 安装了没有 所以要指定一个目录 让系统知道去那里能找到编译安装的 PHP
Linux CentOS 系统上安装完 php 和 MySQL 后,为了使用方便,需要将 php 和 mysql 命令加到系统命令中,如果在没有添加到环境变量之前,执行“php -v”命令查看当前 php 版本信息时时,则会提示命令不存在的错误,下面我们详细介绍一下在 linux 下将 php 和 mysql 加入到环境变量中的方法(假 设 php 和 mysql 分别安装在 /usr/local/webserver/php/ 和 /usr/local/webserver/mysql/ 中)。
方法一:直接运行命令 export PATH=$PATH:/usr/local/webserver/php/bin 和 export PATH=$PATH:/usr/local/webserver/mysql/bin
使用这种方法,只会对当前会话有效,也就是说每当登出或注销系统以后,PATH 设置就会失效,只是临时生效。
方法二:执行 vi ~/.bash_profile 修改文件中 PATH 一行,将 /usr/local/webserver/php/bin 和 /usr/local/webserver/mysql/bin 加入到 PATH=$PATH:$HOME/bin 一行之后
这种方法只对当前登录用户生效
方法三:修改 /etc/profile 文件使其永久性生效,并对所有系统用户生效,在文件末尾加上如下两行代码
PATH=$PATH:/usr/local/webserver/php/bin:/usr/local/webserver/mysql/bin
export PATH
或者 export PATH=$PATH:/usr/local/webserver/php/bin:/usr/local/webserver/mysql/bin
最后:执行 命令 source /etc/profile 或 执行点命令 ./profile 使其修改生效,执行完可通过 echo $PATH 命令查看是否添加成功。
启动 php 服务的时候
sudo /usr/local/php/sbin/php-fpm
会出现
错误:
[10-Apr-2013 18:12:02] NOTICE: PHP message: PHP Deprecated: Comments starting with ‘#’ are deprecated in /usr/local/php/lib/php.ini on line 1874 in Unknown on line 0
[10-Apr-2013 18:12:02] ERROR: failed to open configuration file ‘/usr/local/php/etc/php-fpm.conf’: No such file or directory (2)
[10-Apr-2013 18:12:02] ERROR: failed to load configuration file ‘/usr/local/php/etc/php-fpm.conf’
[10-Apr-2013 18:12:02] ERROR: FPM initialization failed
这时候 是 php 找不到 配置文件 php-fpm.conf
解决办法:
cd /usr/local/php/etc/
sudo cp php-fpm.conf.default php-fpm.conf
再启动
sudo /usr/local/php/sbin/php-fpm
出现错误:
[10-Apr-2013 18:14:09] NOTICE: PHP message: PHP Deprecated: Comments starting with ‘#’ are deprecated in /usr/local/php/lib/php.ini on line 1874 in Unknown on line 0
[10-Apr-2013 18:14:09] ERROR: [pool www] cannot get gid for group ‘nobody’
[10-Apr-2013 18:14:09] ERROR: FPM initialization failed
原因是 [pool www] cannot get gid for group ‘nobody’ 没有这个用户 我之前编译的时候 指定用户 是 www 所以进入 vi /usr/local/php/etc/php-fpm.conf
修改
user = www
group = www
然后 测试 PHP 是否安装成功
在网站跟目录下 写入 一个测试 PHP 是否安装成功的
我的 nginx 根目录是 /usr/local/nginx/html/
sudo vi index.php
<?php phpinfo(); ?>
保存
然后测试下即可
深入理解 PHP 中的 ini 配置 http://www.linuxidc.com/Linux/2016-02/128442.htm
剖析 PHP 脚本的超时机制 http://www.linuxidc.com/Linux/2016-02/128441.htm
Ubuntu 14.04 下搭建 PHP 开发环境 PDF http://www.linuxidc.com/Linux/2016-02/128330.htm
PHP 7 革新与性能优化 http://www.linuxidc.com/Linux/2015-09/123136.htm
PHP 7,你值得拥有 http://www.linuxidc.com/Linux/2015-06/118847.htm
在 CentOS 7.x / Fedora 21 上面体验 PHP 7.0 http://www.linuxidc.com/Linux/2015-05/117960.htm
CentOS 6.3 安装 LNMP (PHP 5.4,MyySQL5.6) http://www.linuxidc.com/Linux/2013-04/82069.htm
在部署 LNMP 的时候遇到 Nginx 启动失败的 2 个问题 http://www.linuxidc.com/Linux/2013-03/81120.htm
Ubuntu 安装 Nginx php5-fpm MySQL(LNMP 环境搭建) http://www.linuxidc.com/Linux/2012-10/72458.htm
《细说 PHP》高清扫描 PDF+ 光盘源码 + 全套教学视频 http://www.linuxidc.com/Linux/2014-03/97536.htm
CentOS 6 中配置 PHP 的 LNMP 的开发环境 http://www.linuxidc.com/Linux/2013-12/93869.htm
PHP 的详细介绍:请点这里
PHP 的下载地址:请点这里
本文永久更新链接地址:http://www.linuxidc.com/Linux/2016-04/129773.htm