如何在centos8自定义目录安装php7.3


Posted in PHP onNovember 28, 2019

1.目录结构

源码目录:/home/werben/pkgsrc/php-7.3.11

安装目录:/home/werben/application/php7.3.11

2.下载php源码

# 官网地址:https://www.php.net/downloads.php
wget https://www.php.net/distributions/php-7.3.11.tar.bz2

3.解压源码

tar --bzip -xvf php-7.3.11.tar.bz2 php-7.3.11

4.安装编译工具和库

yum install -y gcc gcc-c++
yum -y install libxml2-devel openssl-devel curl-devel libjpeg-devel libpng-devel libicu-devel freetype-devel openldap-devel openldap openldap-devel

5.配置编译参数

#创建用户组和用户
groupadd www
useradd -g www www

#配置fpm的用户组和用户,以及安装其他扩展
./configure --prefix=/home/werben/application/php7.3.11 \
--enable-fpm \
--with-fpm-user=www \
--with-fpm-group=www \
--enable-mysqlnd \
--with-mysqli=mysqlnd \
--with-pdo-mysql=mysqlnd \
--enable-mysqlnd-compression-support \
--with-iconv-dir \
--with-freetype-dir \
--with-jpeg-dir \
--with-png-dir \
--with-zlib \
--with-libxml-dir \
--enable-xml \
--disable-rpath \
--enable-bcmath \
--enable-shmop \
--enable-sysvsem \
--enable-inline-optimization \
--with-curl \
--enable-mbregex \
--enable-mbstring \
--enable-intl \
--with-mcrypt \
--with-libmbfl \
--enable-ftp \
--with-gd \
--enable-gd-jis-conv \
--enable-gd-native-ttf \
--with-openssl \
--with-mhash \
--enable-pcntl \
--enable-sockets \
--with-xmlrpc \
--enable-zip \
--enable-soap \
--with-gettext \
--disable-fileinfo \
--enable-opcache \
--with-pear \
--enable-maintainer-zts \
--with-ldap=shared \
--without-gdbm


#上面的步骤可能会出现很多问题,如需要重新安装libzip,需要安装ldap,需要安装cmake

#重新安装libzip需要安装cmake,这里记录一下cmake的安装步骤,其他问题自己百度解决了,
#不记录了,中间自己去官网下了几个最新的cmake版本,编译过程中都出错了。
#发现宝塔用的是2.8.X的版本。这里我用的版本是3.5.2的版本

wget https://cmake.org/files/v3.5/cmake-3.5.2.tar.gz
tar xvf cmake-3.5.2.tar.gz
cd cmake-3.5.2
./bootstrap --prefix=/usr/local/cmake
gmake
gmake install

cd /usr/local/cmake/bin
ln -s /usr/local/cmake/bin/cmake /usr/bin/
cmake --version

#接下来安装libzip
wget https://libzip.org/download/libzip-1.5.2.tar.gz
tar -zxf libzip-1.5.2.tar.gz
cd libzip-1.5.2
mkdir build
cd build 
cmake ..
make -j4
make install

6.安装make工具

#如果提示make命令找不到,则才需要安装make工具
yum -y install gcc automake autoconf libtool make

7.编译安装

make && make install

8.映射全局命令

ln -s /home/werben/application/php7.3.11/sbin/* /usr/local/sbin/
ln -s /home/werben/application/php7.3.11/bin/* /usr/local/bin/

9.配置php.ini

#查看php.ini的位置
php -r "phpinfo();" | grep 'php.ini'

#将源码中的php.ini*拷贝到php.ini的位置
cp /home/werben/pkgsrc/php-7.3.11/php.ini-* /home/werben/application/php7.3.11/lib/

#重命名php.ini文件
cp /home/werben/application/php7.3.11/lib/php.ini-production /home/werben/application/php7.3.11/lib/php.ini

10.安装目录结构

#/home/werben/pkgsrc/php-7.3.11安装目录的结构
├── bin
│  ├── pear
│  ├── peardev
│  ├── pecl
│  ├── phar -> phar.phar
│  ├── phar.phar
│  ├── php
│  ├── php-cgi
│  ├── php-config
│  ├── phpdbg
│  └── phpize
├── etc
│  ├── pear.conf
│  ├── php-fpm.conf.default
│  └── php-fpm.d
├── include
│  └── php
├── lib
│  ├── php
│  ├── php.ini
│  ├── php.ini-development
│  └── php.ini-production
├── php
│  ├── man
│  └── php
├── sbin
│  └── php-fpm
└── var
  ├── log
  └── run

ps:下面将展示如何将PHP与Nginx和Apache集成。

配置PHP以与Apache一起使用

如果你将Apache用作Web服务器,请使用以下命令重新启动httpd服务,可以使用:

$ sudo systemctl restart httpd

配置PHP以与Nginx一起使用

默认情况下,PHP FPM以用户apache的身份运行,为避免权限问题,我们将用户更改为nginx,为此,请编辑相关的行,即user = nginx和group = nginx:

$ sudo nano /etc/php-fpm.d/www.conf
...
user = nginx
..
group = nginx

确保/var/lib/php目录具有正确的所有权:

$ chown -R root:nginx /var/lib/php

完成后,重新启动PHP FPM服务:

$ sudo systemctl restart php-fpm

接下来,编辑Nginx主机指令,并添加以下位置块,以便Nginx可以处理PHP文件:

server {

 # . . . other code

 location ~ \.php$ {

try_files $uri =404;

fastcgi_pass unix:/run/php-fpm/www.sock;

fastcgi_index index.php;

fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;

include fastcgi_params;

 }

}

为了使新配置生效,请重新启动Nginx服务:

$ sudo systemctl restart nginx

总结

以上所述是小编给大家介绍的如何在centos8自定义目录安装php7.3,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对三水点靠木网站的支持!
如果你觉得本文对你有帮助,欢迎转载,烦请注明出处,谢谢!

PHP 相关文章推荐
隐藏X-Space个人空间下方版权方法隐藏X-Space个人空间标题隐藏X-Space个人空间管理版权方法
Feb 22 PHP
php下使用无限生命期Session的方法
Mar 16 PHP
PHP防CC攻击实现代码
Dec 29 PHP
AJAX的跨域访问-两种有效的解决方法介绍
Jun 22 PHP
解析将多维数组转换为支持curl提交的一维数组格式
Jul 08 PHP
php指定函数参数默认值示例代码
Dec 04 PHP
分享下页面关键字抓取www.icbase.com站点代码(带asp.net参数的)
Jan 30 PHP
Yii查询生成器(Query Builder)用法实例教程
Sep 04 PHP
常见的四种POST 提交数据方式(小总结)
Oct 08 PHP
SSO单点登录的PHP实现方法(Laravel框架)
Mar 23 PHP
搜索附近的人PHP实现代码
Feb 11 PHP
PHP使用mysqli同时执行多条sql查询语句的实例
Mar 22 PHP
PHP的new static和new self的区别与使用
Nov 27 #PHP
Laravel 微信小程序后端实现用户登录的示例代码
Nov 26 #PHP
Laravel 微信小程序后端搭建步骤详解
Nov 26 #PHP
php 使用expat方式解析xml文件操作示例
Nov 26 #PHP
thinkphp框架类库扩展操作示例
Nov 26 #PHP
如何在Laravel5.8中正确地应用Repository设计模式
Nov 26 #PHP
PHP 进程池与轮询调度算法实现多任务的示例代码
Nov 26 #PHP
You might like
77A一级收信机修理记
2021/03/02 无线电
实现php加速的eAccelerator dll支持文件打包下载
2007/09/30 PHP
将一维或多维的数组连接成一个字符串的php代码
2010/08/08 PHP
关于Zend Studio 配色方案插件的介绍
2013/06/24 PHP
PHP+redis实现添加处理投票的方法
2015/11/14 PHP
PHP利用Socket获取网站的SSL证书与公钥
2017/06/18 PHP
PHP正则判断一个变量是否为正整数的方法
2019/02/27 PHP
TP5框架安全机制实例分析
2020/04/05 PHP
一个基于jquery的文本框记数器
2012/09/19 Javascript
Javascript 修改String 对象 增加去除空格功能(示例代码)
2013/11/30 Javascript
JavaScript知识点整理
2015/12/09 Javascript
详解JavaScript中localStorage使用要点
2016/01/13 Javascript
使用nodejs下载风景壁纸
2017/02/05 NodeJs
详解AngularJS用Interceptors来统一处理HTTP请求和响应
2017/06/08 Javascript
jQuery的时间datetime控件在AngularJs中的使用实例(分享)
2017/08/17 jQuery
写给vue新手们的vue渲染页面教程
2017/09/01 Javascript
Angular实现的内置过滤器orderBy排序与模糊查询功能示例
2017/12/29 Javascript
解决前后端分离 vue+springboot 跨域 session+cookie失效问题
2019/05/13 Javascript
微信小程序和H5页面间相互跳转代码实例
2019/09/19 Javascript
JS中==、===你分清楚了吗
2020/03/04 Javascript
javascript设计模式 ? 状态模式原理与用法实例分析
2020/04/22 Javascript
Python最火、R极具潜力 2017机器学习调查报告
2017/12/11 Python
Python编程argparse入门浅析
2018/02/07 Python
Python实现SQL注入检测插件实例代码
2019/02/02 Python
解决tensorflow打印tensor有省略号的问题
2020/02/04 Python
解决Pymongo insert时会自动添加_id的问题
2020/12/05 Python
如何使用css3实现一个类在线直播的队列动画的示例代码
2020/06/17 HTML / CSS
经济实惠的豪华背包和行李袋:Packs Project
2018/10/17 全球购物
Bed Bath & Beyond加拿大官网:购买床上用品、浴巾、厨房电器等
2019/10/04 全球购物
俄罗斯鲜花递送:AMF
2020/04/24 全球购物
机械专业毕业生推荐信范文
2013/11/25 职场文书
生产部统计员岗位职责
2014/01/05 职场文书
学生不讲诚信检讨书
2014/09/29 职场文书
导游词怎么写
2015/02/04 职场文书
2015年大学迎新晚会总结
2015/07/16 职场文书
Python音乐爬虫完美绕过反爬
2021/08/30 Python