1.PHP、安m安swoole安装与配置
2.PHP8.0环境详细安装教程
3.PHP-FPM详解
4.php-fpm无法执行exec中的装源装命令问题(附解决方案)
5.使用Dockerfile基于7.4-fpm-buster镜像搭建php7.4微服务环境
PHP、swoole安装与配置
1、安m安源码包下载和安装
PHP: Downloads
[root@localhost software]# tar -xjvf php-7.2..tar.bz2 #解压源码包
编译
[root@localhost php-7.2.]# ./configure --prefix=/usr/local/php/ --enable-fpm
※不要忘记--enable-fpm模块
完成构建
[root@localhost php-7.2.]# make #构建
完成安装
[root@localhost php-7.2.]# make install
配置php别名方便调用
[root@localhost php]# vim ~/.bash_profile
验证php别名是装源装否可用
[root@localhost php]# php -v PHP 7.2. (cli) (built: Nov 1 ::) ( NTS ) Copyright (c) - The PHP Group Zend Engine v3.2.0, Copyright (c) - Zend Technologies
查看php.ini的默认指向
[root@localhost php]# php -i | grep php.ini Configuration File (php.ini) Path => /usr/local/php/lib
复制php.ini文件到/usr/local/php/lib目录下
[root@localhost etc]# cp /software/php-7.2./php.ini-development /usr/local/php/lib
别名方式配置php环境变量
[root@localhost ~]# vim ~/.bash_profile
重新加载生效
[root@localhost ~]# source ~/.bash_profile
快速定位php配置文件的位置技巧
[root@localhost etc]# php -i | grep php.ini Configuration File (php.ini) Path => /usr/local/php/etc/
2、下载、安m安安装swoole
swoole/swoole-src
-rw-r--r--. 1 root root Nov 1 : swoole-swoole-v4.2.2.zip [root@localhost downloads]# unzip swoole-swoole-v4.2.2.zip #解压swoole
使用phpize生成configure文件
[root@localhost swoole]# /usr/local/php/bin/phpize Configuring for: PHP Api Version: Zend Module Api No: Zend Extension Api No:
查看swoole可以进行编译的装源装有项目源码怎么部署运行相关模块
[root@localhost swoole]# ./configure --help | grep swoole --enable-debug-log Enable swoole debug log --enable-trace-log Enable swoole trace log --enable-swoole Enable swoole support
编译时指定php可执行配置文件的位置
[root@localhost swoole]# ./configure --with-php-config=/usr/local/php/bin/php-config
※如果无法解决上述报错,可以尝试先屏蔽gcc的安m安版本检测
※gcc相关见附录(一)(二)
屏蔽gcc的版本检测
[root@bogon swoole]# vim swoole_config.h
重新make即可完成构建
[root@localhost swoole]#make Build complete. Don't forget to run 'make test'.
完成安装
[root@bogon swoole]# make install Installing shared extensions: /usr/local/php/lib/php/extensions/no-debug-non-zts-/ Installing header files: /usr/local/php/include/php/
查看swoole提供的例子
[root@bogon server] cd ../swoole/examples/
为php添加swoole扩展
[root@bogon etc]# vim php.ini
查看swoole扩展是否添加成功
[root@bogon etc]# php -m
查看swoole侦听的端口
[root@bogon etc]# netstat -anp | grep
附录:
一、gcc的装源装安装
1. 获取安装包并解压
wget ftp.gnu.org/gnu/gcc/gcc... tar -jxvf gcc-4.8.2.tar.bz2
2. 下载供编译需求的依赖项
据史料记载,这个神奇的安m安脚本文件会帮我们下载、配置、装源装安装依赖库,安m安可以节约大量的装源装时间和精力。
cd gcc-4.8.2 ./contrib/download_prerequisites
3. 建立一个目录供编译出的安m安文件存放
mkdir gcc-build-4.8.2 cd gcc-build-4.8.2
4. 生成Makefile文件
../configure -enable-checking=release -enable-languages=c,c++ -disable-multilib
5. 编译(注意:此步骤非常耗时)
make -j4
-j4选项是make对多核处理器的优化。
6. 安装
sudo make install
7. 验证安装,装源装重启,安m安然后查看gcc版本
gcc -v
二、其他方式安装gcc
PHP8.0环境详细安装教程
一、PHP环境安装流程:
通过在线或离线方式下载PHP 8.0.0版本,确保在安装前预先配置好依赖包(推荐在第一步抛出异常的依赖先进行安装,简化后续安装过程)。安装地址为:php.net/downloads.php,八兔源码如果网络环境不理想,推荐先进行离线下载,然后上传至服务器端。
解压下载的PHP压缩包:执行 `tar -xvf php-8.0.0.tar.gz` 命令,便于后续进行源码安装和配置管理。
配置信息:
源码安装步骤包括:配置、编译、安装。在配置阶段,重要参数包括`--prefix`配置安装路径和`--with-config-file-path`设置php.ini文件的存放位置。这些参数的选择有助于后续对软件进行统一管理和维护。
在配置参数时需要注意:所有命令应保持在单行,确保代码的可读性和易于复制。可利用`./configure --help`检查参数的具体含义。
安装完成后,会提示配置成功的信息,例如出现配置成功的信息或者文件存放路径。
编译与安装:
配置成功后,执行`make`对源代码进行编译,并使用`make install`安装。开阔传奇源码如遇编译或安装过程中的异常情况,按照提供的解决方案逐一解决,例如使用`dnf install`命令安装缺失依赖等。
使用`cc: internal compiler error`异常时,多因内存使用不足,可尝试增加交换分区以应对,完成后删除交换分区。
查看安装情况:
切换至安装目录的`bin`目录下,执行`php -v`查看版本信息,确认PHP环境安装是否成功。
二、管理配置文件:
生成所需的配置文件,包括`php.ini`、`www`配置文件、`php-fpm`配置文件及`php-fpm`可执行文件。
使用`php-fpm`管理PHP程序,相比其他进程管理方式,`php-fpm`在CPU与内存使用方面更具优势,并且不易崩溃,减轻了监控压力。怎样debug源码
安装流程:
1. 启动`php-fpm`
2. 检查`php-fpm`进程启动状态
3. 查看`php-fpm`所占用的端口
4. 解决安装中出现的`php command not found`异常
完成后,可进行技术圈子的加入,享受免费资源、长期技术支持和行业动态获取服务。加入时需有长期兴趣,确保与圈子的资源利用理念相符合。
写在最后:
确保PHP环境配置的正确性和完整性,通过本教程的步骤和提示,可有效节省时间,避免错误和困扰。希望该文章能为您的PHP开发之旅提供有力支持。
PHP-FPM详解
PHP-FPM是PHP FastCGI进程管理器,专为管理PHP进程池设计,用于接收web服务器请求。
第一部分,为什么出现PHP-FPM?PHP-FPM的诞生源自PHP-FastCGI的需求。为有效管理PHP-FastCGI而出现的程序。
第二部分,了解PHP-FastCGI。它只是144源码网站一个解析PHP请求并返回结果的CGI程序,并不负责管理进程。
第三部分,为何不称为PHP-CGI?在PHP-FastCGI之前,存在PHP-CGI,但其执行效率低下,最终被PHP-FastCGI取代。
第四部分,解释FastCGI与CGI的区别。在FastCGI时代,当web服务器(如nginx)接收到请求并识别为动态PHP请求时,会将其转给PHP处理。在CGI模式下,每次请求时都需要读取php.ini配置,初始化执行环境,耗时且重复。
第五部分,FastCGI的效率提升。FastCGI允许一次启动一个主进程(master),读取一次配置,然后启动多个工作进程(worker)。当请求来临时,master将请求传递给worker,避免了重复的初始化工作。
第六部分,PHP-FPM的工作原理。PHP-FPM创建一个主进程来控制何时以及如何将HTTP请求转发给一个或多个子进程处理。主进程还负责管理进程的创建与销毁,以适应Web应用流量的变化。
安装部分,PHP在5.3.3之后将PHP-FPM整合到核心代码中,无需单独下载安装。只需在编译PHP源码时添加--enable-fpm即可启用PHP-FPM支持。
全局配置方面,CentOS中PHP-FPM的主配置文件为/etc/php7/php-fpm.conf,配置内容通常包括进程池定义。
在CentOS中,PHP-FPM主配置文件顶部引入了进程池定义文件,通常使用www.conf作为默认配置文件。进行必要的编辑保存后,重启PHP-FPM主进程。
PHP-FPM进程池的详细配置请参考php.net/manual/install文档。
针对Company开发环境的配置,提供测试环境与生产环境的具体配置示例。以nginx为例,说明如何转发请求给PHP-FPM。
最后,针对PHPer进阶时遇到的问题,提供了一系列资料,涵盖分布式架构、高可扩展性、高性能、高并发、服务器性能调优、TP6、Laravel、YII2、Redis、Swoole、Swoft、Kafka、Mysql优化、shell脚本、Docker、微服务、Nginx等高级进阶干货,需要的读者可以免费获取。
php-fpm无法执行exec中的命令问题(附解决方案)
因为有些浏览器不支持webp格式,需要将webp格式的转换为png。为此需要安装dwebp转换工具。最开始采用源码编译安装,源码下载地址点击此处。可能需要先安装一些依赖库:yuminstalllibjpeg-devlibpng-devlibtiff-devlibgif-devtarzxvflibwebp-1.2.0.tar.gzcdlibwebp-1.2.0./configuremakemakeinstall在命令行下可以正确执行
dwebpxxx.webp-oxxx.png在phpcli命令行模式下也可以正确执行:
<?php$shell="dwebpxxx.webp-oxxx.png";$output=array();$return='';exec($shell,$output,$return);返回的$return为0,表示没有错误,命令正常执行。
但是在php-fpm模式下,始终无法得到转换的png,而且$return为,表示无法找到命令。改成绝对路径也同样返回
$shell="/usr/bin/dwebpxxx.webp-oxxx.png";而且php.ini中的safe_modes=off,disable_functions中也没有exec调用。查阅资料提示可能需要yum安装dwebp,但是我的系统版本centos6.5,国外yum源很多无法访问,最后将CentOS-Base.repo改为如下:
[base]name=CentOS-6failovermethod=prioritybaseurl=pose发布,避免了与apache不兼容的困扰。选择的php镜像版本是php:7.4-fpm-buster,基于debian操作系统。首先,我们拉取镜像并启动临时容器,检查其内部结构,包括php程序、配置文件和fpm组件。通过端口映射,便于与nginx容器配合运行。
如果需要php源代码,可以使用docker-php-source命令导入和删除。安装php扩展,例如mysql,使用docker-php-ext-install,配置参数则通过docker-php-ext-configure,启用扩展则用docker-php-ext-enable。福哥通过在临时容器手动安装环境,然后整理到Dockerfile中,以清晰展示整个过程。
Dockerfile中包含了apt更新、依赖库和工具安装、配置文件设置、时区调整、测试验证等步骤。最终,通过Dockerfile,我们可以直接基于7.4-fpm-buster镜像搭建出php7.4的微服务环境,极大地简化了基础环境配置。
下一课,将继续利用Dockerfile的技巧,构建TFUMS项目的运行环境,敬请期待。