编译安装php和php扩展

首先说明 yum和apt都是依赖管理工具,使用这两种方法安装的软件无需处理依赖关系,而编译安装的软件需要首先安装它的依赖库,否则装不上,这篇文章只针对linux系统.

  1. 首先进入php.net选择你需要安装的php版本安装包 download下载
  2. 解压你下载的包 ,基本命令是 tar -zxvf 
  3. 安装必要的依赖库
           (1)ubuntu系列 apt-get install gcc autocnf libxml2-dev
           (2)centos系列 yum install gcc gcc-c++ autocnf libxml2 libxml2-devel 
  4. 进入解压的文件夹执行./configure --prefix=(指定路径)通过--help查看帮助可以携带更多参数
           
    基于个人需要我的编译参数 根据需要增减 这个项目够用
     './configure' '--prefix=/www/server/php/72' 
    '--with-config-file-path=/www/server/php/72/etc' '-- enable-fpm' 
    '--with-fpm-user=www' '--with-fpm-group=www' '--enable-mysqlnd' '--with-mysqli=mysqlnd' 
    '--with-pdo-mysql=mysqlnd' '--with-iconv-dir' '--with-freetype-dir=/usr/local/freetype' 
    '--with-jpeg-dir' '--with-png-dir' '--with-zlib' '--with-libxml-dir=/usr' '--enable-xml' 
    '--disable-rpath' '--enable-bcmath' '--enable-shmop' '--enable-sysvsem' 
    '--enable-inline-optimization' '--with-curl=/usr/local/curl' '--enable-mbregex' 
    '--enable-mbstring' '--enable-intl' '--enable-ftp' '--with-gd' '--enable-gd-native-ttf' 
    '--with-openssl' '--with-mhash' '--enable-pcntl' '--enable-sockets' '--with-xmlrpc' 
    '--enable-zip' '--enable-soap' '--with-gettext' '--disable-fileinfo' '--enable-opcache'

     

  5. (注意) php已经不再支持mysql了 可以选择pdo和mysqli  这里--enable-mysqlnd支持了数据库 如果不加这个连不上数据库,后面的openssl curl之类的都是需要的 根据需要添加
  6. make && make install(构建和安装 建议分步进行好找错误)
  7. 如果编译失败百度一下问题所在,重新编译,如果成功了在编译包中找到php.ini-production复制一份到你的配置目录,如果配置了--with-config-file-path就是后面的目录 如果没配置 先用一下 bin/php -i | grep php.ini 或者直接输出一下phpinfo查看配置目录在哪 
  8. php.ini中的display_errors = On让错误信息打印到页面上
  9. 做一份fpm 如果你用apache就忽略此步骤 
cp ./sapi/fpm/init.d.php-fpm /etc/init.d/php-fpm
chmod +x /etc/init.d/php-fpm
修改fpm配置文件(这里是配置路径 根据自己的修改一下)
cd /www/server/php/72/etc
cp php-fpm.conf.default php-fpm.conf //改个名
vim php-fpm.conf
去掉 pid=run/php-fpm.pid 前面的分号
cd php-fpm.d 
cp www.conf.default www.conf //改个名
//注意 在www.conf中 有一个fpm监听的端口号 listen后面的 如果你有多个php 可以修改
/etc/init.d/php-fpm start/stop/restart 启动/停止/重启


10.      如果你的php编译安装没有考虑到mysql,选择重新编译pdo扩展

进入php/ext/pdo_mysql
./configure --with-php-config=/datas/soft/php72/bin/php-config --with-pdo-mysql=/usr/
make clean
make && make install
这里的--with-pdo-mysql路径如果是yum apt安装的 这里直接写/usr/ 如果是编译安装的写你安装路径即可

       11.    此时编译安装已经完成了 如果需要的话可以配置环境变量

                (1)在/etc/proflie下面添加 export PATH=$PATH:/usr/local/php/bin(你安装的目录)

                (2)source /etc/profile 刷新

                (3)php -v验证一下  

                不过我一般使用 alias 就是起别名的方式 这样我可以把多个php区分开

                (1)进入~/.bashrc

                (2) 加一行  alias php7='/www/server/bin/php'        

                (3)source /~/.bashrc 刷新

                (4)php -v验证一下 

      12. 你以为这里就结束了其实并没有, 如果你需要编译完成的php需要安装某个扩展怎么办,

            (1) 第一种方法进入ext下面寻找对应扩展, ./configure --with-php-config=你想添加扩展的php安装路径 然后 make && make install

            (2) 第二种 安装动态扩展 上网下载你要安装的包, 解压后你发现没有configure文件,使用phpize生成,然后操作同上

            (3) 安装完之后在php.ini中添加一下, tips:有时候安装完不用添加也能生效,这里本人就不懂为什么了

            (4) 如果你的编译有任何问题都不会通过,不过他在make的时候就会告诉你,一般都是缺少依赖导致的,安装上即可

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值