jmton 发表于 2018-12-15 13:11:39

LAMP 之三 PHP 编译安装

  先到 PHP 官网下载
  Discux 3.2 的官方版本不支持 php-7.0.8 的版本。到安装的时候会有函数不支持。如下图。
  

  https://s5.运维网.com/wyfs02/M01/91/E8/wKioL1j5bYHg8QtHAABkLYMnMes606.jpgBird src]# wget http://cn2.php.net/distributions/php-7.0.8.tar.gz
  

  解压
  # tar zxvf php-7.0.8.tar.gz
  下载的文件格式不一样,解压的方式不一样
  php 版本不一样,但是安装过程是一样的。继续使用文档。
  

  进入解压的目录:
  

  # cd php-7.0.8
  ./configure   --prefix=/usr/local/php   --with-apxs2=/usr/local/apache2/bin/apxs   --with-config-file-path=/usr/local/php/etc   --with-mysql=/usr/local/mysql   --with-libxml-dir   --with-gd   --with-jpeg-dir   --with-png-dir   --with-freetype-dir   --with-iconv-dir   --with-zlib-dir   --with-bz2   --with-openssl   --with-mcrypt   --enable-soap   --enable-gd-native-ttf   --enable-mbstring   --enable-sockets   --enable-exif   --disable-ipv6
  

  # ./configure \
  > --prefix=/usr/local/php \
  > --with-apxs2=/usr/local/apache2/bin/apxs \
  > --with-config-file-path=/usr/local/php/etc\
  > --with-mysql=/usr/local/mysql \
  > --with-libxml-dir \
  > --with-gd \
  > --with-jpeg-dir \
  > --with-png-dir \
  > --with-freetype-dir \
  > --with-iconv-dir \
  > --with-zlib-dir \
  > --with-bz2 \
  > --with-openssl \
  > --with-mcrypt \
  > --enable-soap \
  > --enable-gd-native-ttf \
  > --enable-mbstring \
  > --enable-sockets \
  > --enable-exif \
  > --disable-ipv6
  (楼主将系统yum 源换成了 163 上的的yum 源,具体操作,问度娘)
  在此过程中会出现一些错误,这是因为PHP 依赖一些包。
在这一步,楼主遇到如下错误:
configure: error: xml2-config not found. Please check your libxml2 installation.解决办法是:
yum install -y libxml2-devel还有错误:
configure: error: Cannot find OpenSSL's 解决办法是:
yum install -y openssl openssl-devel错误:
checking for BZip2 in default path... not found
configure: error: Please reinstall the BZip2 distribution解决办法:
yum install -y bzip2 bzip2-devel错误:
configure: error: png.h not found.解决办法:
yum install -y libpng libpng-devel错误:

configure: error: mcrypt.h not found. Please reinstall libmcrypt.解决办法:
yum install -ylibmcrypt-devel  

出现 Configure: error: freetype.h not found.的解决办法
yum install freetype-devel
https://s4.运维网.com/wyfs02/M01/91/A4/wKioL1j3MefCIn-uAAEWtleu8g0290.jpg
# echo $?
  0
  # make这个过程大约5分钟
  Build complete.
  Don't forget to run 'make test'. 出现这个说明这一步操作完成
https://s1.运维网.com/wyfs02/M00/91/A5/wKioL1j3Mt6jb_zFAACXtlLano8693.jpg
  

  # make install#此处有个警告,不知道什么原因?但是echo $? 显示正常
https://s4.运维网.com/wyfs02/M02/91/A6/wKiom1j3M4SzOz1ZAAEpf9-HiFg320.jpg
  

  echo $?   至上安装完成。
  

  --with-apxs2=/usr/local/apache2/bin/apxsapxs 是一个自动的帮助用户安装扩展模块的工具。
  

  --with-mysql=/usr/local/mysql这里可以看出Php 也是依赖 Mysql 的,所以这就是为什么要先安装Mysql ,而最后安装Php.
  ###########################################################################################
  # ls /usr/local/apache2/modules/
  httpd.explibphp7.somod_deflate.somod_expires.somod_rewrite.so
  这个目录下多了一个 libphp7.so,而这个 libphp7.so 是怎么产生过来的,就是因为 apxs,apxs帮助生了这个文件。
  %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
  Php 小技巧
  # /usr/local/php/bin/php -m查看 php 下面的模块
  查看到的都是静态的
  # /usr/local/php/bin/php -i查看PHP 相关的配置
  




页: [1]
查看完整版本: LAMP 之三 PHP 编译安装