当前位置: 首页 > news >正文

二进制安装php

下载php二进制包:

官网地址:https://www.php.net/releases/

PHP: Releasesicon-default.png?t=N7T8https://www.php.net/releases/在里边可以选择自己要下载的包进行下载;

下载完成后进行解压:

tar xvzf  php-7.3.12.tar.gz

解压后  进入目录进行预编译:

cd php-7.3.12

选择要编译的模块进行配置(我这选择了常用的模块,根据自己实际情况来进行选择模块编译):

./configure --prefix=/usr/local/php-7.3.12  --with-config-file-path=/usr/local/php/etc --with-mysqli --with-pdo-mysql --with-mysql-sock=/usr/local/mysql/mysql.sock --with-iconv-dir --with-freetype-dir --with-jpeg-dir --with-png-dir --with-curl --with-gd --with-gmp --with-zlib --with-xmlrpc --with-openssl --without-pear --with-snmp --with-gettext --with-mhash --with-libxml-dir=/usr --with-ldap-lib=/usr/lib64 --with-ldap-sasl --with-fpm-user=nginx --with-fpm-group=nginx --enable-xml --enable-fpm  --enable-ftp --enable-bcmath --enable-soap --enable-shmop --enable-sysvsem --enable-sockets --enable-inline-optimization --enable-maintainer-zts --enable-mbregex --enable-mbstring --enable-pcntl --enable-zip --disable-fileinfo --disable-rpath --enable-libxml --enable-opcache --enable-mysql

这里我指定用户和用户组是nginx,因为我在这之前已经安装了nginx,用nginx来做web服务器;

预编译后出现以下提示可以视为预编译成功:

然后执行 编译以及安装:

make && make install

安装成功后:

在编译的源码包中,找到 php.ini-production,复制重命名为php.ini

[root@slave php-7.3.12]# pwd
/usr/local/php-7.3.12

cp -a php.ini-production php.ini

[可选项] 设置让PHP错误信息打印在页面上,在php.ini中找到如下配置并修改:

display_errors = On

将 php.ini 文件中的配置项 cgi.fix_pathinfo 设置为 0 。

vim /usr/local/php/php.ini
#定位到 cgi.fix_pathinfo= 并将其修改为如下所示:
cgi.fix_pathinfo=0

修改配置信息:

cd /usr/local/php-7.3.12/etc/
#修改当前目录下的配置文件php-fpm.conf.default为 php-fpm.confcp php-fpm.conf.default php-fpm.conf
#编辑一下php-fpm.conf
vim php-fpm.confpid = run/php-fpm.pid
user = www
group = www#在进入php-fpm.d 目录下 
cd php-fpm.d#修改当前目录下的配置文件 www.conf.default为  www.conf
cp www.conf.default www.conf

这里的user和group我直接在编译的时候指定的是nginx,所以我这里直接使用nginx,没有配置www

新建用户组及用户(如果修改配置中的用户的话)

groupadd wwwuseradd -g www www

启动停止php-fpm

启动

/usr/local/php-7.3.12/sbin/php-fpm

没有任何的输出,表示成功了!!!

php-fpm占用的是9000端口,我们查看下进程:

ps -ef|grep php-fpm

这个监听端口号可以修改,可以在www.conf文件中修改;

修改完需要重启php-fpm

停止php

我们在新安装扩展后,是需要重新php-fpm的,已使扩展生效。

最简单粗暴的重新php-fpm的方式是:

先找到php-fpm的进程号,kill 掉,再用/usr/local/php/sbin/php-fpm 这样启动。

其实还有更多温和的方法,就是使用信号。

INT, TERM 立刻终止
QUIT 平滑终止
USR1 重新打开日志文件
USR2 平滑重载所有worker进程并重新载入配置和二进制模块
示例

php-fpm 关闭:

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

php-fpm 重启:

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

然后可以在nginx中配置来测试php:

server {listen 80;server_name localhost;location / {root html;index index.html index.htm;}location ~ \.php$ {root /usr/share/nginx/html;fastcgi_pass 127.0.0.1:9001;fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;include fastcgi_params;}
}

在/usr/share/nginx/html中写了一个index.php文件以便访问:

<?php
phpinfo();
?>

使用phpinfo()函数可以在浏览器上查看php详细信息:

可参考:Linux编译安装PHP7.4.24及启动_linux安装php7.4-CSDN博客

相关文章:

二进制安装php

下载php二进制包&#xff1a; 官网地址&#xff1a;https://www.php.net/releases/ PHP: Releaseshttps://www.php.net/releases/在里边可以选择自己要下载的包进行下载&#xff1b; 下载完成后进行解压&#xff1a; tar xvzf php-7.3.12.tar.gz 解压后 进入目录进行预编…...

旧版Pycharm支持的python版本记录

版权声明&#xff1a;本文为博主原创文章&#xff0c;如需转载请贴上原博文链接&#xff1a;旧版Pycharm支持的python版本记录-CSDN博客 前言&#xff1a;近期由于打算研究GitHub上一个开源量化交易平台开发框架&#xff0c;但是该框架是基于python3.10的版本开发&#xff0c;所…...

java实现七牛云内容审核功能,文本、图片和视频的内容审核(鉴黄、鉴暴恐、敏感人物)

目录 1、七牛云内容审核介绍 2、查看内容审核官方文档 2.1、文本内容审核 2.1.1、文本内容审核的请求示例 2.1.2、文本内容审核的返回示例 2.2、图片内容审核 2.2.1、请求参数 2.2.2、返回参数 2.3、视频内容审核 3、代码实现 3.1、前期代码准备 3.2、文本内容审核…...

C++面试基础系列-struct

系列文章目录 文章目录 系列文章目录C面试基础系列-struct1.C中struct2.C中struct2.1.同名函数2.2.typedef定义结构体别名2.3.继承 3.总结3.1.C和C中的Struct区别 4.struct字节对齐5.struct与const 关于作者 C面试基础系列-struct 1.C中struct struct里面只能放数据类型&#…...

代码随想录算法训练营 | 动态规划 part05

完全背包 有N件物品和一个最多能背重量为W的背包。第i件物品的重量是weight[i]&#xff0c;得到的价值是value[i] 。每件物品都有无限个&#xff08;也就是可以放入背包多次&#xff09;&#xff0c;求解将哪些物品装入背包里物品价值总和最大。 例子&#xff1a; 背包可容纳重…...

英特尔XPU大模型应用创新

...

仿Muduo库实现高并发服务器——socket网络通信模块

本项目就是基于TCP网络通信搭建的。 TCP: 客户端&#xff1a;socket(),connect(). 服务端&#xff1a;socket(),bind(),listen(),accept(). 下面代码就是对原生API网络套接字的封装。需要熟悉原生API网络套接字接口。 下面这段代码&#xff0c;没什么好讲的&#xff0c;就不…...

模型 神经网络(通俗解读)

系列文章 分享 模型&#xff0c;了解更多&#x1f449; 模型_思维模型目录。仿脑智能&#xff0c;深度学习&#xff0c;精准识别。 1 神经网络的应用 1.1 鸢尾花分类经典问题 神经网络的一个经典且详细的经典应用是鸢尾花分类问题 。主要是通过构建一个神经网络模型来自动区分…...

事务的使用

1.如何使用事务: 1.1.事务的完成过程&#xff1a; 1.步骤1&#xff1a;开启事务2.步骤2&#xff1a;一系列的DML操作3.步骤3&#xff1a;事务结束状态&#xff1a;提交事务(COMMIT)&#xff0c;中止事务&#xff08;事务回滚ROLLBACK&#xff09; 1.2.事务分类&#xff1a; …...

【免费】企业级大模型应用推荐:星环科技无涯·问知

无涯问知是星环科技发布的大模型应用系统&#xff0c;那么我们先简单了解下星环科技吧&#xff01; 星环科技&#xff08;股票代码&#xff1a;688031&#xff09;致力于打造企业级大数据和人工智能基础软件&#xff0c;围绕数据的集成、存储、治理、建模、分析、挖掘和流通等数…...

从〇 搭建PO模式的Web UI自动化测试框架

Page Object模式简介 核心思想 将页面元素和操作行为封装在独立的类中&#xff0c;形成页面对象&#xff08;Page Object&#xff09;。每个页面对象代表应用程序中的一个特定页面或组件。 优点&#xff1a; 代码复用性高 页面对象可以在多个测试用例中复用。 易于维护 …...

在Ubuntu中重装Vscode(没有Edit Configurations(JSON)以及有错误但不标红波浪线怎么办?)

在学习时需要将vscode删除重装&#xff0c;市面上很多方法都不能删干净&#xff0c;删除之后拓展都还在。因此下面的方法可以彻底删除。注意&#xff0c;我安装时使用的是snap方法。 如果你的VScode没有Edit Configurations(JSON)&#xff0c;以及有错误但不标红波浪线的话&…...

Oracle 用户-表空间-表之间关系常用SQL

问题&#xff1a; 当某一个表数据量特别大&#xff0c;突然插入数据一直失败&#xff0c;可能是表空间不足&#xff0c;需要查看表的使用率 用户-表空间-表之间关系&#xff1a;用户可以有多个表空间&#xff0c;表空间可以有多个表&#xff0c;表只能拥有一个表空间和用户 1.…...

家政服务管理系统小程序的设计

管理员账户功能包括&#xff1a;系统首页&#xff0c;个人中心&#xff0c;用户管理&#xff0c;管理阿姨管理&#xff0c;家政公司管理&#xff0c;服务项目管理&#xff0c;家政预约管理&#xff0c;评价管理&#xff0c;留言板管理&#xff0c;系统管理 微信端账号功能包括…...

【算法】并查集的介绍与使用

1.并查集的概论 定义&#xff1a; 并查集是一种树型的数据结构&#xff0c;用于处理一些不相交集合的合并及查询问题&#xff08;即所谓的并、查&#xff09;。比如说&#xff0c;我们可以用并查集来判断一个森林中有几棵树、某个节点是否属于某棵树等。 主要构成&#xff1a; …...

Shell——运算符

在 Shell 编程中&#xff0c;运算符用于执行各种类型的操作&#xff0c;如算术运算、字符串比较、文件测试等。以下是 Shell 中常用的运算符分类和示例&#xff1a; 1. 算术运算符 Shell 中使用 expr 或 $(( ... )) 来进行算术运算。 : 加法-: 减法*: 乘法/: 除法%: 取余**:…...

SweetAlert2

1. SweetAlert2 SweetAlert2是一个基于JavaScript的库, 用于在网页上替换标准的警告框(alert), 确认框(confirm)和提示框(prompt), 并提供更加美观和用户友好的界面.需要在项目中引入SweetAlert2, 可以通过CDN链接或者将库文件下载到你的项目中来实现这一点. 通过CDN引入:<…...

c语言中比较特殊的输入函数

目录 一.getchar()函数 1.基本功能 2.使用方法 (1).读取单个字符 (2).读取多个字符&#xff08;直到遇到换行符&#xff09; (3).处理输入中的空白字符 3.返回值 4.应用场景 5.注意事项 二.fgets()函数 1.函数原型 2.工作原理 3.使用示例 (1).从标准输入读取一行…...

Java版自动化测试之Selenium

1. 准备 编程语言&#xff1a;Java JDK版本&#xff1a;17 Maven版本&#xff1a;3.6.1 2. 开始 声明&#xff1a;本次只测试Java的Selenium自动化功能 本次示例过程&#xff1a;打开谷歌游览器&#xff0c;进入目标网址&#xff0c;找到网页的输入框元素&#xff0c;输入指…...

【计算机网络】——计算机网络的性能指标

速率&#xff08;speed&#xff09; 连接在计算机网络上的主机在数字信道上传送数据的速率。 影响条件&#xff1a; 带宽&#xff08;band width&#xff09; 指在固定的时间可传输的资料数量 单位&#xff1a;bps或HZ 吞吐量&#xff08;throughtput&#xff09; 指对网络、…...

城通网盘直连解析终极解决方案:告别限速,实现全速下载的完整指南

城通网盘直连解析终极解决方案&#xff1a;告别限速&#xff0c;实现全速下载的完整指南 【免费下载链接】ctfileGet 获取城通网盘一次性直连地址 项目地址: https://gitcode.com/gh_mirrors/ct/ctfileGet 还在为城通网盘的龟速下载而烦恼吗&#xff1f;每次下载大文件都…...

Python金融数据获取终极指南:3分钟掌握同花顺问财数据获取

Python金融数据获取终极指南&#xff1a;3分钟掌握同花顺问财数据获取 【免费下载链接】pywencai 获取同花顺问财数据 项目地址: https://gitcode.com/gh_mirrors/py/pywencai 想要快速获取高质量的金融数据吗&#xff1f;pywencai是你的完美解决方案。这个Python工具让…...

GDB 符号检视三件套:`ptype` / `info variables` / `info functions`

调试 NuttX/Vela 这类嵌入式系统时&#xff0c;光会 bt 和 print 远远不够。真正能让你在陌生代码里快速定位、看清结构、批量布点的&#xff0c;是 GDB 的符号检视命令。本文整理三件最常用的&#xff1a; ptype —— 看类型长什么样info variables —— 找全局/静态变量在哪…...

【Midjourney提示词黄金公式】:20年AI视觉专家亲授7大风格锚点+3层语义嵌套技巧

更多请点击&#xff1a; https://intelliparadigm.com 第一章&#xff1a;Midjourney提示词黄金公式的底层逻辑 Midjourney 的提示词&#xff08;Prompt&#xff09;并非自由文本堆砌&#xff0c;而是一套具有语法优先级与语义权重的结构化指令系统。其“黄金公式”——主体 …...

Ardb多存储引擎深度解析:RocksDB、LevelDB、LMDB、WiredTiger、PerconaFT、ForestDB全方位对比

Ardb多存储引擎深度解析&#xff1a;RocksDB、LevelDB、LMDB、WiredTiger、PerconaFT、ForestDB全方位对比 【免费下载链接】ardb A redis protocol compatible nosql, it support multiple storage engines as backend like Googles LevelDB, Facebooks RocksDB, OpenLDAPs LM…...

文档下载革命:kill-doc浏览器脚本让你的学习资料一键保存

文档下载革命&#xff1a;kill-doc浏览器脚本让你的学习资料一键保存 【免费下载链接】kill-doc 看到经常有小伙伴们需要下载一些免费文档&#xff0c;但是相关网站浏览体验不好各种广告&#xff0c;各种登录验证&#xff0c;需要很多步骤才能下载文档&#xff0c;该脚本就是为…...

从零打造智能互动魔法杖:嵌入式系统与创客DIY全流程解析

1. 项目概述&#xff1a;打造你的专属互动魔法杖几年前&#xff0c;我痴迷于各种漫展和角色扮演活动&#xff0c;总想为自己扮演的角色制作一件独一无二、能真正“发光发热”的道具。市面上能买到的发光道具要么太玩具感&#xff0c;要么价格高昂且功能单一。于是&#xff0c;我…...

如何通过虚拟地址查找物理地址

1 如何通过虚拟地址查找物理地址&#xff08;原理与代码&#xff09; 本文说明 虚拟地址&#xff08;VA&#xff09;到物理地址&#xff08;PA&#xff09; 的映射在 x86-64 Linux 上如何理解与实现&#xff0c;并给出可编译的示例代码。不同架构&#xff08;ARM、RISC-V&#…...

基于Code Llama的本地AI编程助手:VSCode插件部署与优化实战

1. 项目概述&#xff1a;为什么我们需要一个更聪明的代码助手&#xff1f;在VSCode的插件市场里搜索“AI代码补全”&#xff0c;结果可能会让你眼花缭乱。从基于GPT的Copilot到各种开源模型驱动的工具&#xff0c;选择很多&#xff0c;但痛点也很明显&#xff1a;要么需要稳定的…...

使用 QLineF 从 QTransform 提取角度信息

我们在对 QGraphicsItem 进行变换时&#xff0c;QT 提供了很多便捷的方法。但当我们想获取当前变换的角度时却有些困难&#xff0c;因为 QTransform 没有提供获取角度的方法。在文章Qt 从 QTransform 逆向解出 Translate/Scale/Rotate&#xff08;平移/缩放/旋转&#xff09;分…...