***原文链接:http://my.oschina.net/sallency/blog/541287

php编译过程报错解决可参考:http://www.cnblogs.com/z-ping/archive/2012/06/18/2553929.html


安装 libmcrypt mhash mcrypt

CentOS 7 默认不包含这三个模块,所以得手动安装,注意mcrypt依赖前两者

libmcrypt-2.5.8.tar.gz

http://sourceforge.net/projects/mcrypt/files/Libmcrypt/2.5.8/libmcrypt-2.5.8.tar.gz

mhash-0.9.9.tar.gz

http://sourceforge.net/projects/mhash/files/mhash/0.9.9.9/mhash-0.9.9.9.tar.gz

mcrypt-2.6.8.tar.gz

http://sourceforge.net/projects/mcrypt/files/MCrypt/2.6.8/mcrypt-2.6.8.tar.gz/

问题:configure: error: *** libmcrypt was not found

解决办法:

# export LD_LIBRARY_PATH=/usr/local/lib:$LD_LIBRARY_PATH

或者

# ldconfig

php 编译安装

前几天试着装了一次,虽然最后也装好了但感觉乱乱的,在鸟哥的指导下才知道 mysql 扩展已经被 7.0 废除了,此后使用 mysqli pdo-mysql 并且推荐使用 php 自带的 mysqlnd 驱动 配置参数,并且 php-fpm 也已经被 php 纳入,直接在选项中开启即可,我在官网看 --enable-cgi 是默认配置且 --enable-fast-cgi 已经被废除,--enable-cgi 即可让 fpm 模式调用

ladp在64的系统里可能存在写库关联问题,执行下面的命令

cp -frp /usr/lib64/libldap* /usr/lib/

部分参数释意

./configure \
--prefix=/usr/local/php \
--with-config-file-path=/usr/local/php/etc \
--with-mcrypt \                               # mcrypt 加密算法
--with-mhash \                                # mhash 加密算法
--with-mysqli=mysqlnd \                       # 推荐使用 mysqlnd 驱动 mysql已被废弃
--with-pdo-mysql=mysqlnd \                    # 推荐使用 mysqlnd 驱动 mysql已被废弃
--with-gd \                                   # gd库
--with-iconv \
--with-zlib \
--with-curl \
--with-jpeg-dir \
--with-freetype-dir \
--with-apxs2=/usr/bin/apxs \                  # 让 php 直接编译到 apache 的模块中去
--with-apache=/etc/httpd \                    # 静态编译apache的模块 编译完后去httpd.conf中加载so
--with-openssl \
--with-xmlrpc \
--with-bz2 \
--with-gettext \                              # 多语言应用开发
--with-readline \                             # readline只能在linux下win使用stream_get_line
--with-recode \
--with-ldap \                                   # 目录协议
--with-fpm-user=nginx \
--with-fpm-group=nginx \
--enable-fpm \                                  # php-fpm 进程管理器
--enable-cgi \                                  # 默认开启php的cgi sapi  
--enable-xml \
--enable-bcmath \
--enable-inline-optimization \
--enable-mbregex \
--enable-mbstring \
--enable-ftp \
--enable-gd-native-ttf \
--enable-pcntl \                                #pcntl 多进程扩展模块
--enable-sockets \
--enable-sysvmsg \                              #消息队列
--enable-sysvshm \                              #内存共享模块 linux 
--enable-shmop \                                #内存共享模块 linux/windows
--enable-zip \
--enable-soap \
--enable-session \
--enable-opcache \                              # opcache 缓存优化
--enable-cli                                    # cli 其实默认就是开启的 若禁用同时要--without-pear

编译参数

./configure \
--prefix=/usr/local/php \
--with-config-file-path=/usr/local/php/etc \
--with-mcrypt \
--with-mhash \
--with-mysqli=mysqlnd \
--with-pdo-mysql=mysqlnd \
--with-gd \                                  
--with-iconv \
--with-zlib \
--with-curl \
--with-jpeg-dir \
--with-freetype-dir \
--with-apxs2=/usr/bin/apxs \                  
--with-openssl \
--with-xmlrpc \
--with-bz2 \
--with-gettext \
--with-readline \
--with-recode \
--with-ldap \
--with-fpm-user=nginx \
--with-fpm-group=nginx \
--enable-fpm \
--enable-cgi \
--enable-xml \
--enable-bcmath \
--enable-inline-optimization \
--enable-mbregex \
--enable-mbstring \
--enable-ftp \
--enable-gd-native-ttf \
--enable-pcntl \
--enable-sockets \
--enable-sysvmsg \
--enable-sysvshm \
--enable-shmop \
--enable-zip \
--enable-soap \
--enable-session \
--enable-opcache \
--enable-cli

注意的地方:

1:--enable-cgi --disable-cgi :

在 5.3.0后 enable-cgi 等同于--enable-fastcgi 也就是说此后不需要在额外声明 --enable-fastcgi,且 --enable-force-cgi-redirect 也默认有效且被废弃在编译选项中,要禁用需修改php.ini的cgi.force_redirect为0

2:--with-apxs2  --with-apache:

--with-apxs2是直接把php编译到apache的模块中去  --with-apache是置顶apache的serverRoot路径,生成apache的php模块 修改apache配置文件手动加载:

AddType application/x-httpd-php .php .html .htm

3:php7.0废除了--with-mysql编译选项,且推荐使用mysqlnd驱动


复制源码包中的 php.ini-development php.ini-production 至 php 安装目录下的 etc 中,或者放在系统的 /etc 下也可以

将 php 的 bin 和 sbin 加入环境变量

echo "export PATH=$PATH:/usr/local/php/bin:/usr/local/php/sbin" >> /etc/profile
source profile

以下记录的的是我在libmcrypt mhash mcrypt三个模块安装中遇到的一些问题

# tar xf libmcrypt-2.5.8.tar.gz
# tar xf mcrypt-2.6.8.tar.gz
# tar xf mhash-0.9.9.9.tar.gz

# ./configure --prefix=/usr/local/libmcrypt
# make ; make install

# ./configure --prefix=/usr/local/mhash
# make ; make install

# ./configure --prefix=/usr/local/mcrypt
===>报错:configure: error: *** libmcrypt was not found
# ./configure --prefix=/usr/local/mcrypt  --with-libiconv-prefix=/usr/local/libmcrypt/
===>还是报错:configure: error: *** libmcrypt was not found

为什么按照原文中的方法 # export LD_LIBRARY_PATH=/usr/local/lib:$LD_LIBRARY_PATH我没有解决这个错误:
因为我在安装libmcrypt和mhash的时候,指定了安装目录,所以它们的“lib”是在各自的安装目录下(/usr/local/libmcrypt/lib、/usr/local/mhash/lib)而不是在/usr/local/lib下。
然后我试图将这些在“lib”复制到/usr/local/lib中,然后再编译:
# ./configure --prefix=/usr/local/mcrypt
没有出现这个错误了但出现了:
===>报错:configure: error: "You need at least libmhash 0.8.15 to compile this program. http://mhash.sf.net/"

根据找到的方法:
# cat /etc/ld.so.conf
include ld.so.conf.d/*.conf
/usr/local/inotify/lib
/usr/local/lib       ------>在/etc/ld.so.conf中添加这一行
# ldconfig          ------>然后再ldconfig(按找到的方法据说执行了这步就可以解决了)
ldconfig: /usr/local/lib/libmhash.so.2 不是符号连接
ldconfig: /usr/local/lib/libmcrypt.so.4 不是符号连接  <===但是我的出现了报错

对比了一下/usr/local/libmcrypt/lib、/usr/local/mhash/lib和我复制到/usr/local/lib下的文件,发现原来的确实存在着链接...
然后尝试:
# ln -sf libmcrypt.so.4 libmcrypt.so.4.4.8
# ln -sf libmhash.so.2 libmhash.so.2.0.1
再执行:
# ldconfig  没有报错了。

但是再编译,还是报错configure: error: "You need at least libmhash 0.8.15 to compile this program. http://mhash.sf.net/"
Pass......

[LAMP]【转载】——PHP7.0的安装的更多相关文章

  1. Ubuntu --- 【转】安装lamp(php7.0)

    本篇转自:http://www.laozuo.org/8303.html.以防丢失,再次记录 PHP7已经出来有一段时间,根据网友的实践测试比之前的版本效率会高不少,而且应用到网站中打开速度会有明显的 ...

  2. (原创)win7自带IIS7.5+php7.0.10安装教程(图)

    php在上周8月18日发布了PHP 7.0 (7.0.10)版本.详细下载页面http://windows.php.net/download/,根据自身电脑配置情况酌情下载版本.win7旗舰版,iis ...

  3. dedecms 在php7.0无法安装

    dedecms 需要mysql扩展的支持!而php7.0已废弃mysql扩展.所以我讲7.0改回了5.6然后就可以顺利安装了. 总结了一个经验:没有绝对实力,不要尝试新东西

  4. php7.0编译安装

    1.解压安装  tar zxvf php-7.0.2.tar.gz  cd php-7.0.2 2.安装依赖库: yum -y install libjpeg libjpeg-devel libpng ...

  5. Linux环境PHP7.0.2安装

    PHP7和HHVM比较PHP7的在真实场景的性能确实已经和HHVM相当, 在一些场景甚至超过了HHVM.HHVM的运维复杂, 是多线程模型, 这就代表着如果一个线程导致crash了, 那么整个服务就挂 ...

  6. centos7 安装LNMP(php7)之php7.0 yum安装

    http://www.jianshu.com/p/35f21210668a 安装过程参考上面的网址

  7. macOS Sierra安装Apache2.4+PHP7.0+MySQL5.7.16

    Mac系统上虽然自带PHP和Apache,但是有时不是我们想要的版本呢.今天我们就在macOS Sierra(10.12.1)上安装比较新的版本的PHP版本,也就是PHP7.0+了.本篇博客我们安装的 ...

  8. centos7.5环境下编译安装php7.0.30并安装redis和mongo扩展

    .安装php7..30的脚本 # vim install_php.sh #!/bin/bash # 安装基本依赖 yum install -y gcc gcc-c++ htop telnet ioto ...

  9. ubuntu16.04安装LNMP(ubuntu+Nginx+mysql+PHP7.0)

    系统环境: Ubuntu 16.04.2 LTS nginx version: nginx/1.10.3 (Ubuntu) PHP 7.0.22-0ubuntu0.16.04.1 mysql  Ver ...

随机推荐

  1. 【c实现,vc6调试通过】给出一字符串指针,计算出字符串指针中单词数

    #include <stdio.h> /* 给出一字符串指针,计算出字符串指针中单词数, 单词不包括'.',',',';','?','_','"',由0-9数字或26个字母组成 ...

  2. C# Webservice 解决在运行配置文件中指定的扩展时出现异常。 ---> System.Web.HttpException: 超过了最大请求长度问

    摘自: http://blog.csdn.net/gulijiang2008/article/details/4482993 请在服务器端配置 方法一: 在通过WebService处理大数据量数据时出 ...

  3. leetcode 67

    67. Add Binary Given two binary strings, return their sum (also a binary string). For example,a = &q ...

  4. pect-shell中的自动交互

    这是我在ST写的自动登陆ssh的脚本, 分两个文件 文件1: sssh #!/bin/bash #xql 2011/01/4#auto ssh 138.198.230.170 case $1 in & ...

  5. 在阿里云 CentOS 服务器(ECS)上搭建 nginx + mysql + php-fpm 环境

    阿里云的云服务器(ECS)可以选择多种操作系统,打算用它运行 Drupal或者 WordPress ,你最好选择 Linux 系统,这篇文章的演示是基于阿里云的 CentOS 操作系统的服务器.我们在 ...

  6. idea类似eclipse鼠标提示java api信息

    <ignore_js_op> 详细说明:http://java.662p.com/thread-2615-1-1.html

  7. wordpress代理设置

    打开wp-config.php,在页首加上以下语句: define('WP_PROXY_HOST', '192.168.84.101'); define('WP_PROXY_PORT', '8080' ...

  8. C# 测试程序运行时间和cpu使用时间

    方法一 Stopwatch类测试程序运行时间和cpu使用时间 添加命名空间using System.Diagnostics;使用实例如下 private Stopwatch sw = new Stop ...

  9. luigi学习3-使用luigid

    --local-scheduler的方式只适用于开发调试阶段,当你真正要把程序部署到一个产品时,我们推荐使用luigid服务. 使用luigid服务不但能提供锁服务(防止一个任务被多个进程重复执行), ...

  10. spark streaming kafka1.4.1中的低阶api createDirectStream使用总结

    转载:http://blog.csdn.net/ligt0610/article/details/47311771 由于目前每天需要从kafka中消费20亿条左右的消息,集群压力有点大,会导致job不 ...