您的位置:首页 > 编程语言 > PHP开发

PHP源码编译安装

2018-01-29 11:57 323 查看
1.在PHP官网下载PHP的源码包官网下载地址

2.解压并进入文件夹中

 tar -zxvfg php-7.1.13

3.安装命令

 ./configure 
--prefix=/usr/local/php
    #安装地址
--with-config-file-path=/etc      #配置文件
--enable-inline-optimization
   #开启功能
--disable-debug   #关闭debug
--disable-rpath 
--enable-shared
--enable-opcache 
--enable-fpm                       #运行php-fpm
--with-fpm-user=www               #运行用户
--with-fpm-group=www 
--with-mysql=mysqlnd 
--with-mysqli=mysqlnd 
--with-pdo-mysql=mysqlnd 
--with-gettext 
--enable-mbstring 
--with-iconv 
--with-mcrypt 
--with-mhash 
--with-openssl 
--enable-bcmath 
--enable-soap -
-with-libxml-dir 
--enable-pcntl 
--enable-shmop 
--enable-sysvmsg -
-enable-sysvsem 
--enable-sysvshm 
--enable-sockets 
--with-curl 
--with-zlib 
--enable-zip 
--with-bz2 
--with-readline 
--without-sqlite3 
--without-pdo-sqlite 
--with-pear

--enable-maintainer-zts# pthreads的前置包
--enable-dtrace #静态探针
--with-png-dir --with-freetype-dir --with-jpeg-dir --with-gd #gd库安装

集成命令如下:

 ./configure --prefix=/usr/local/php --with-config-file-path=/etc --enable-inline-optimization --disable-debug --disable-rpath --enable-shared --enable-opcache
--enable-fpm --with-fpm-user=www --with-fpm-group=www --with-mysql=mysqlnd --with-mysqli=mysqlnd --with-pdo-mysql=mysqlnd --with-gettext --enable-mbstring --with-iconv --with-mcrypt --with-mhash --with-openssl --enable-bcmath --enable-soap --with-libxml-dir
--enable-pcntl --enable-shmop --enable-sysvmsg --enable-sysvsem --enable-sysvshm --enable-sockets --with-curl --with-zlib --enable-zip --enable-dtrace --ena
4000
ble-maintainer-zts --with-bz2 --with-readline --without-sqlite3 --without-pdo-sqlite --with-pear

安装过程中可能会出现依赖问题,可能出现的依赖问题如下[可以先运行依赖安装]:
yum install gcc #安装gcc

yum install libxml2-devel #安装lib

yum install openssl openssl-devel #安装openssl

yum install bzip2 bzip2-devel #安装bzip

yum -y install curl-devel #安装curl

yum install libmcrypt #安装libmcrypt 相关信息
yum install
libmcrypt-devel
yum install
mcrypt
yum install
mhash

yum install readline-devel #安装readline

yum install systemtap-sdt-devel #静态指针前置包

如果没有找到对应的源码需要扩展yum源
 yum install epel-release
 #yum  install epel-release
 yum update
4.编译安装
 make && make install

 安装完后 会提示对应的安装地址
  对应的php安装地址
  /usr/loacl/php/bin
配置系统变量

5.配置php-fpm
  cd
/usr/local/php/etc
  cp
php-fpm.conf.default php-fpm.conf #生成配置文件
6.启动
 /usr/local/php/sbin/php-fpm #可能会报php-fpm.d的错误
 cd /usr/local/php/etc/php-fpm.d
  cp
www.conf.default www.conf   #文件中的用户和组都是www最好新建一个www用户

7.没有php.ini
  如果安装过后没有对应的php.ini
  /usr/local/php/bin/php
--ini //查看ini的对应目录
  搜索php.ini相关配置
  find
/ -name php.ini*
  复制一份开发配置到对应的php
ini目录
  --with-config-file-path=/etc
(这里指定的目录是etc)
8.PHP扩展安装
 建议在php对应的安装目录运行安装,或者把
 PHP相关命令配置到系统中具体如下
  vi
/etc/profile
  添加
  PATH=$PATH:/(对应php的安装运行目录[bin])
  export
PATH
   source
/etc/profile  配置生效
   echo
$PATH 查看 
  /usr/local/php/bin
 eg: pecl install msgpack
  如果没有报错,那么恭喜你,安装成功.如果有报错,示例如下:
 PHP Startup: Unable to load dynamic library '/usr/local/php/lib/php/extensions/no-debug-non-zts-20160303/msgpack.so'
- /usr/local/php/lib/php/extensions/no-debug-non-zts-20160303/msgpack.so: cannot open shared object file: No such file or directory in Unknown on line 0

      对应安装的扩展没有在php.ini的扩展目录中

      find / -name msgpack.so //新安装的扩展(复制到对应php扩展目录) 

      /usr/local/lib/php/extensions/no-debug-non-zts-20160303/msgpack.so  //系统pecl安装的默认扩展目录
/usr/local/php/lib/php/extensions/no-debug-non-zts-20160303/msgpack.so //php.ini系统扩展目录

这里有线性安全和非线性安全的问题,它会自动生成两个扩展目录,具体使用什么参照你使用的线性安全即可.
9.其他扩展安装
 a.mongodb

 pecl
install mongodb (如果无法连接或者报版本限制,解决如下)

下载mongodb的压缩包运行安装命令[pecl也可以安装压缩包哟]
pecl install mongodb-1.13.14.tgz

10.PHP的启动
 a.一般的办法
 /usr/local/php/sbin/php-fpm
(start|stop|reload) #比较老的版本
 ps aux | grep php-fpm 
 kill 15891 # 对应的master进程ID 

b.可以开启php-fpm.pid
  系统对应的pid记录地址/usr/local/php/var/run/php-fpm.pid

 kill `cat /usr/local/php/var/run/php-fpm.pid`

c.使用基础命令杀死进程
  pkill php-fpm

d.PHP启动
 /usr/local/php/sbin/php-fpm
#找到你PHP对应的安装目录

11.其他
 a.php版本信息不一致[浏览器版本信息php.7.2和CLI模式的版本信息php.5.4]

  初步判断是系统php命令冲突
  $PATH
查看php命令是否在环境变量中

  php
-v  #查看环境变量中的版本信息

   
  /usr/local/php/bin/php -v #查看php安装目录的版本信息

  如果两个版本不一样可以选择你想要的版本,这里选择最新的

 type
php #查看php的系统目录

   
  把最新版本的/usr/local/php/bin/php复制到 type php的目录中

12.待续...
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  PHP编译安装