龙空技术网

学习笔记-PHP - 安装&基础配置 CentOS

夢天說夢話 102

前言:

眼前咱们对“phpfann”大致比较注意,兄弟们都想要学习一些“phpfann”的相关文章。那么小编也在网上搜集了一些对于“phpfann””的相关内容,希望大家能喜欢,同学们一起来了解一下吧!

信息汇总

#    官方网站    官方网站 下载链接    官方网站 Windows 环境 下载链接    特定版本下载#    PHP 8.3.1 21 Dec 2023 (最新版本)    PHP 8.2.13 23 Nov 2023 (8.2.X 最后版本)    PHP 7.4.33 03 Nov 2022 (7.X 最后版本)    PHP 7.4.9 06 Aug 2020 (教程指定版本)
前置准备
#    安装 必要组件yum install -y epel-releaseyum groupinstall -y "Development tools"yum install -y libxml2-devel gd-devel libmcrypt-devel libcurl-devel openssl-devel sqlite-devel oniguruma-devel libxslt-devel 
安装 PHP 及其 插件编译安装
#    下载 PHP 源码压缩包curl -O     解压缩 PHP 源码压缩包tar -zxvf php-7.4.9.tar.gz#    进入 PHP 源码目录cd php-7.4.9#    配置编译静态库./configure --prefix=/usr/local/php7 \    --with-curl \    --with-freetype-dir \    --with-gd \    --with-gettext \    --with-iconv-dir \    --with-kerberos \    --with-libdir=lib64 \    --with-libxml-dir \    --with-mysqli \    --with-mysql \    --with-openssl \    --with-pcre-regex \    --with-pdo-mysql \    --with-pdo-sqlite \    --with-pear \    --with-png-dir \    --with-xmlrpc \    --with-xsl \    --with-zlib \    --enable-fpm \    --enable-bcmath \    --enable-libxml \    --enable-inline-optimization \    --enable-gd-native-ttf \    --enable-mbregex \    --enable-mbstring \    --enable-opcache \    --enable-pcntl \    --enable-shmop \    --enable-soap \    --enable-sockets \    --enable-sysvsem \    --enable-xml \    --enable-zip \    --enable-mysqlnd#    生成预安装包make -j 4#    安装 PHP make -j 4 install#    使用 模板文件 创建 配置文件cp /usr/local/php7/etc/php-fpm.conf.default /usr/local/php7/etc/php-fpm.confcp /usr/local/php7/etc/php-fpm.d/ /usr/local/php7/etc/php-fpm.d/    启动 PHP FPM/usr/local/php7/sbin/php-fpm#    验证 PHP FPM (有 127.0.0.1:9000 端口 被监听则正常)netstat -ant

配置编译静态库

安装 PHP

验证 PHP FPM

修改环境变量

#    为了能够在任何路径下都能运行  程序,需要修改环境变量。不修改也没事#    修改环境变量 nano /etc/profile#    在末尾添加如下内容#    {#    PHP FPM Settingexport PATH=/usr/local/php7/sbin/:$PATH#    }#    方法 2 : 使用命令 直接添加环境变量信息sudo cat <<EOF >> /etc/profile#    PHP FPM Settingexport PATH=/usr/local/php7/sbin/:\$PATHEOF#    生效 环境变量source /etc/profile
设置 PHP FPM 开机自启动
#    赋予 开机自启动文件 运行权限chmod +x /etc/rc.d/rc.local#    将 PHP FPM 运行指令 写入开机自启动文件echo "/usr/local/php7/sbin/php-fpm -F" >> /etc/rc.d/rc.local
YUM 安装 PHP
#    安装 ReMi Repo 源 CentOS RHEL 7.X rpm -Uvh     安装 ReMi Repo 源 CentOS RHEL  8.Xrpm -Uvh     安装 ReMi Repo 源 CentOS RHEL  9.Xrpm -Uvh    搜索 所有 PHP 7.4 相关组件 yum search php74*#    安装 PHP 7.4 及相关插件yum --enablerepo=remi install -y php74-php php74-php-gd php74-php-xml php74-php-sockets php74-php-session php74-php-snmp php74-php-mysql php74-php-fpm  php74-php-pecl-redis6#    软链接 PHP 7.4 相关文件ln /usr/bin/php74 /usr/bin/php#    安装 PHP 8.3 及相关插件yum --enablerepo=remi install -y php83-php php83-php-gd php83-php-xml php83-php-sockets php83-php-session php83-php-snmp php83-php-mysql php83-php-fpm  php83-php-pecl-redis6#    软链接 PHP 8.3 相关文件ln /usr/bin/php83 /usr/bin/php#    安装组件解释php74-php-gd:用于PHP应用程序使用gd的模块图形库php74-php-xml:x86_64:用于使用XML的PHP应用程序的模块php74-php-sockets:PHP 的sockets扩展php74-php-session:PHP 的会话管理扩展php74-php-snmp:一个用于PHP应用程序查询的模块SNMP-managed设备php74-php-mysqlnd:x86_64:用于使用MySQL的PHP应用程序的模块数据库php74-php-fpm:PHP FastCGI进程管理器php74-php-pecl-redis6:的扩展名 Redis键值存储
PHP FPM 管理服务
#    重新加载服务文件systemctl daemon-reload#    启动 PHP FPM 服务systemctl start php74-php-fpm#    设置 PHP FPM 服务 开机自动运行systemctl enable php74-php-fpm#    查询 PHP FPM 服务 运行状态systemctl status php74-php-fpm#    验证 PHP FPM (有 127.0.0.1:9000 端口 被监听则正常)netstat -ant#    备用命令#    停止 PHP FPM 服务 systemctl stop php74-php-fpm#    重新启动 PHP FPM 服务systemctl restart php74-php-fpm
配置 网页服务器支持PHP配置 Nginx 支持 PHP编辑 配置文件
#    修改 Nginx 主配置文件nano /etc/nginx/conf.d/default.conf#    {#    添加 第 10 行,location / { 下增加 index  index.php; 内容    location / {        root   /usr/share/nginx/html;        index  index.html index.htm;        index  index.php;    }#    添加 第 22 行,参考 主配置文件内容,添加如下内容    location ~ \.php$ {        root   /usr/share/nginx/html;        fastcgi_pass  127.0.0.1:9000;        fastcgi_index  index.php;        fastcgi_param  SCRIPT_FILENAME  $document_root$fastcgi_script_name;        include        fastcgi_params;    }#    }
重新启动 Nginx 服务
#    重新启动 Nginx 服务systemctl restart nginx.service
创建 PHP 测试页面
#    创建 PHP 测试网页文件echo "<?php phpinfo(); ?>" > /usr/share/nginx/html/index.php
打开 PHP 测试页面
#    PHP 测试页面 访问地址
配置 Apache 支持 PHP编辑 配置文件
#    原则上 Apache 不需要修改文件就可以支持 PHP#    我是为了保持文件格式统一才这么写的#    当然,其实就是在装逼
创建 PHP 测试页面
#    创建 PHP 测试网页文件echo "<?php phpinfo(); ?>" > /var/www/html/index.php
打开 PHP 测试页面
#    PHP 测试页面 访问地址
备注PHP 编译参数解释
#    查看 PHP 编译配置帮助文件./configure --help > ~/php-configure-help.txt#    正文 PHP 编译参数 详解#    以下参数是我学习时百度的,具体也不理解这些都是什么,因此核对了一下,很多不明所以的,也有很多和帮助文件不对应的#   启用curl浏览工具的支持    --with-curl#   启用对freetype字体库的支持    --with-freetype-dir#   启用gd库的支持 php处理图形的扩展库    --with-gd#   启用gnu 的gettext 支持,国际化语言支持库    --with-gettext#   包括Kerberos支持    --with-kerberos#   指定 lib 库目录    --with-libdir=lib64#   启用libxml2库的支持    --with-libxml-dir#   mysqli文件目录,优化支持    --with-mysqli#   mysql安装目录,对mysql的支持    --with-mysql#   启用openssl的支持    --with-openssl#   帮助文件里没有    --with-pcre-regex#   PDO:MySQL支持    --with-pdo-mysql#   PDO:SQLite支持    --with-pdo-sqlite#   启用pear命令的支持,PHP扩展用的    --with-pear#   启用对png图片的支持    --with-png-dir#   启用xml-rpc的c语言    --with-xmlrpc#   启用XSLT 文件支持,扩展了libXML2库 ,需要libxslt软件    --with-xsl#   启用zlib库的支持    --with-zlib#   启用PHP-fpm 补丁后才有这个参数,CGI方式安装的启动程序    --enable-fpm#   启用图片大小调整,用到zabbix监控的时候用到了这个模块    --enable-bcmath#   启用 libxml 支持,帮助文件里只有关闭    --enable-libxml#   优化线程,帮助文件里只有关闭    --enable-inline-optimization#   支持TrueType字符串函数库    --enable-gd-native-ttf#   启用多字节正则表达式支持,帮助文件里只有关闭    --enable-mbregex#   启用php支持对多字节字符串的处理    --enable-mbstring#   启用 Zend OPcache 支持,帮助文件里只有关闭    --enable-opcache#   启用pcntl支持(仅限CLI/CGI)    --enable-pcntl#   启用shmop支持 使 PHP系统可以处理相关的IPC函数    --enable-shmop#   启用 SOAP 支持    --enable-soap#   启用 sockets 支持    --enable-sockets \#   启用System V信号灯支持    --enable-sysvsem#   启用 XML 支持,帮助文件里只有关闭    --enable-xml#   启用 zip 支持    --enable-zip#   显式启用MySQL Native Driver,将在其他扩展需要时隐式执行    --enable-mysqlnd
AI 建议编译安装参数
#    安装 必要 组件sudo yum install -y libxml2-devel sqlite-devel libcurl-devel oniguruma-devel libpng-devel libjpeg-devel freetype-devel libzip-devel openssl-devel#    配置编译静态库./configure --prefix=/usr/local/php74 \  --with-config-file-path=/usr/local/php74/etc \  --with-config-file-scan-dir=/usr/local/php74/etc/php.d \  --with-libdir=lib64 \  --enable-mbstring \  --enable-fpm \  --with-fpm-user=nginx \  --with-fpm-group=nginx \  --with-fpm-systemd \  --with-curl \  --with-gd \  --with-jpeg-dir=/usr/local/jpeg9 \  --with-png-dir=/usr/local/png16 \  --with-freetype-dir=/usr/local/freetype20 \  --with-zlib-dir=/usr/local/zlib19 \  --with-openssl \  --with-openssl-dir=/usr/local/openssl11 \  --with-mysqli=mysqlnd \  --with-mysql=mysqlnd \  --enable-mysqlnd \  --enable-zip \  --enable-xml \  --enable-bcmath \  --enable-calendar \  --enable-exif \  --enable-ftp \  --enable-mbregex \  --enable-wddx \  --enable-soap \  --enable-sockets \  --enable-sysvsem \  --enable-sysvshm \  --enable-sysvmsg \  --enable-opcache \  --enable-pcntl \  --enable-maintainer-zts \  --with-pcre-regex=/usr/local/pcre2_82 \  --with-kerberos=/usr/local/krb5_18 /usr/local/include /usr/local/include/krb5 /usr/local/lib64 /usr/local/lib" | tee config.txt && cat config.txt; echo "" ; rm config.txt;
PHP 常用模块
php74:安装PHP 7.4的包php74-php:用于创建动态web的PHP脚本语言网站php74-build:基本的构建配置php74-php-gd:用于PHP应用程序使用gd的模块图形库php74-xhprof:一个用于PHP - Web接口的层次分析器php74-zephir:用于创建扩展的Zephir语言PHP:php74-php-ast:抽象语法树php74-php-cli:用于PHP的命令行接口php74-php-dba:一个用于PHP的数据库抽象层模块应用程序php74-php-dbg:交互式PHP调试器php74-php-ffi:外部函数接口php74-php-fpm:PHP FastCGI进程管理器php74-php-gmp:一个用于使用GNU的PHP应用程序模块议员库php74-php-lz4:x86_64: PHP的LZ4扩展php74-php-pdo:一个用于PHP的数据库访问抽象模块应用程序php74-php-xml:x86_64:用于使用XML的PHP应用程序的模块php74-runtime:处理php74软件集合的包:php74-php-imap:x86_64:用于使用IMAP的PHP应用程序的模块php74-php-intl:x86_64: PHP国际化扩展应用程序php74-php-json:x86_64: PHP的JavaScript对象符号扩展php74-php-ldap:x86_64:用于使用LDAP的PHP应用程序的模块php74-php-oci8:x86_64:用于使用OCI8的PHP应用程序的模块数据库php74-php-odbc:x86_64:用于使用ODBC的PHP应用程序的模块数据库php74-php-pear:noarch: PHP扩展和应用程序库框架php74-php-pggi:GTK绑定php74-php-snmp:一个用于PHP应用程序查询的模块SNMP-managed设备php74-php-soap:用于使用SOAP的PHP应用程序的模块协议php74-php-tidy:标准PHP模块提供了tidy库支持php74-php-zstd:x86_64: Zstandard扩展名php74-scldevel:x86_64:打包php74的开发文件php74-unit-php:用于NGINX单元的PHP模块php74-php-devel:构建PHP扩展所需的文件php74-php-pgsql:一个用于PHP的PostgreSQL数据库模块php74-php-pinba:x86_64: Pinba统计服务器的客户端扩展php74-php-bcmath:用于PHP应用程序的模块bcmath库php74-php-brotli:用于PHP的Brotli扩展php74-php-common:PHP的公共文件php74-php-pspell:x86_64:用于PHP应用程序的模块中接口php74-php-recode:用于PHP应用程序的模块重新编码库php74-php-snappy:PHP的Snappy扩展php74-php-sodium:x86_64:钠密码库的包装php74-php-sqlsrv:x86_64:用于SQL Server的PHP Microsoft驱动程序php74-php-xmlrpc:的PHP应用程序模块xml - rpc协议php74-php-enchant:增强PHP的拼写扩展应用程序php74-php-libvirt:用于Libvirt的PHP语言绑定php74-php-mysqlnd:x86_64:用于使用MySQL的PHP应用程序的模块数据库php74-php-opcache:x86_64: Zend OPcachephp74-php-pecl-ds:x86_64: PHP的数据结构php74-php-pecl-ev:提供libev库的接口php74-php-pecl-pq:PostgreSQL客户端库(libpq)绑定php74-php-pecl-uv:Libuv包装器php74-php-process:用于PHP脚本的模块使用系统进程接口php74-php-embedded:用于嵌入应用程序的PHP库php74-php-mbstring:一个用于PHP应用程序的模块多字节字符串处理php74-php-pecl-dio:直接I/O函数php74-php-pecl-eio:提供libeio库的接口php74-php-pecl-env:加载环境变量php74-php-pecl-lua:嵌入式lua解释器php74-php-pecl-lzf:x86_64:处理LZF de/压缩的扩展php74-php-pecl-nsq:NSQ客户端的PHP扩展php74-php-pecl-psr:PSR接口php74-php-pecl-rar:用于读取RAR存档的PHP扩展php74-php-pecl-rrd:x86_64: rrdtool的PHP绑定php74-php-pecl-sdl:简单的PHP DirectMedia层php74-php-pecl-svn:x86_64: Subversion版本的PHP绑定控制系统php74-php-pecl-vld:x86_64:转储PHP的内部表示脚本php74-php-pecl-yac:无锁用户数据缓存php74-php-pecl-yaf:x86_64:又一个框架php74-php-pecl-yar:轻量级并发RPC框架php74-php-pecl-yaz:x86_64: Z39.50/SRU客户端php74-php-pecl-zip:一个ZIP文件的扩展名php74-php-pecl-zmq:ZeroMQ消息传递php74-php-phalcon4:Phalcon框架php74-php-componere:在运行时编写PHP类php74-php-litespeed:LiteSpeed Web服务器PHP支持php74-php-maxminddb:MaxMind DB Reader扩展php74-php-pdo-dblib:x86_64: PDO驱动程序,用于Microsoft SQL Server和Sybase数据库php74-php-pecl-amqp:与任何AMQP兼容的服务器通信php74-php-pecl-apcu:APC用户缓存php74-php-pecl-apfd:总是填充表单数据php74-php-pecl-fann:用于FANN库的包装器php74-php-pecl-grpc:x86_64:通用RPC框架php74-php-pecl-http:扩展的HTTP支持php74-php-pecl-krb5:Kerberos验证扩展php74-php-pecl-pcov:x86_64:代码覆盖驱动程序php74-php-pecl-ssh2:x86_64: libssh2库的绑定php74-php-pecl-sync:已命名和未命名同步对象php74-php-pecl-uopz:x86_64: Zend的用户操作php74-php-pecl-uuid:通用唯一标识符扩展对于PHPphp74-php-pecl-vips:x86_64:与libvip接口的PHP扩展php74-php-pecl-wddx:Web分布式数据交换php74-php-pecl-yaml:x86_64: yaml的PHP绑定php74-php-phpiredis:x86_64: Redis的客户端扩展名php74-php-smbclient:libsmbclient的PHP包装php74-php-wkhtmltox:HTML转换器php74-php-pecl-cmark:CommonMark扩展名php74-php-pecl-dbase:dBase数据库文件访问函数php74-php-pecl-druid:一个PHP的德鲁伊驱动php74-php-pecl-event:提供libevent库的接口php74-php-pecl-geoip:将IP地址映射到的扩展名地理位置php74-php-pecl-gnupg:x86_64: gpgme库的包装php74-php-pecl-mysql:MySQL数据库访问函数php74-php-pecl-oauth:PHP OAuth消费者扩展php74-php-pecl-parle:x86_64:解析和词法分析php74-php-pecl-raphf:资源和持久句柄工厂php74-php-pecl-solr2:Apache Solr的API定向对象php74-php-pecl-stats:用于统计计算的例程php74-php-pecl-stomp:Stomp客户端扩展php74-php-pecl-taint:x86_64: XSS代码嗅探器php74-php-pecl-xattr:扩展属性php74-php-pecl-xdiff:文件差异/补丁php74-php-pecl-xxtea:XXTEA加密算法扩展PHPphp74-php-libvirt-doc:noarch: php-libvirt文件php74-php-pecl-base58:用base58编码和解码数据php74-php-pecl-bitset:位集库php74-php-pecl-crypto:OpenSSL密码库的包装器php74-php-pecl-gender:x86_64:性别扩展php74-php-pecl-hprose:用于PHP的h散文php74-php-pecl-hrtime:x86_64:高分辨率定时php74-php-pecl-mcrypt:x86_64: libmcrypt库的绑定php74-php-pecl-pdflib:生成PDF文件的包php74-php-pecl-propro:属性代理php74-php-pecl-radius:Radius客户端库php74-php-pecl-redis4:的扩展名 Redis键值存储php74-php-pecl-redis5:的扩展名 Redis键值存储php74-php-pecl-scrypt:Scrypt散列函数php74-php-pecl-sphinx:Sphinx SQL全文的PECL扩展搜索引擎php74-php-pecl-ssdeep:libfuzzy库的包装器php74-php-pecl-trader:为贸易商提供技术分析php74-php-pecl-xdebug:用于调试PHP脚本的PECL包php74-php-pecl-xhprof:x86_64: XHProf的PHP扩展,层次结构分析器php74-php-pecl-yaconf:x86_64:另一个配置容器php74-php-pecl-apcu-bc:APCu向后兼容模块php74-php-pecl-decimal:任意精度浮点小数php74-php-pecl-gearman:PHP包装器到libgearmanphp74-php-pecl-gmagick:的包装器GraphicsMagick库php74-php-pecl-imagick:x86_64:用于创建和修改映像的扩展使用ImageMagickphp74-php-pecl-inotify:x86_64: Inotifyphp74-php-pecl-leveldb:LevelDB PHP绑定php74-php-pecl-memprof:x86_64:内存使用分析器php74-php-pecl-mongodb:x86_64:用于PHP的MongoDB驱动程序php74-php-pecl-msgpack:用于与MessagePack通信的API序列化php74-php-pecl-rdkafka:基于librdkafka的Kafka客户端php74-php-pecl-rpminfo:x86_64: RPM信息php74-php-pecl-runkit7:为了这些你…不应该…无论如何我一直在做……但是肯定做的!php74-php-pecl-seaslog:一个有效、快速、稳定的日志 PHP扩展php74-php-pecl-selinux:用于PHP脚本的SELinux绑定语言php74-php-pecl-swoole4:PHP的异步并发分布式网络框架php74-php-pecl-timecop:x86_64:时间旅行和冻结扩展php74-php-pecl-varnish:Varnish缓存绑定php74-php-pecl-xmldiff:x86_64: XML差异和合并php74-php-pecl-igbinary:x86_64:替代标准PHP序列化器php74-php-pecl-memcache:x86_64:使用Memcached的扩展缓存守护进程php74-php-pecl-mogilefs:要与之通信的PHP客户端库 MogileFS存储php74-php-pecl-mustache:Mustache模板语言php74-php-pecl-protobuf:序列化结构化的机制数据php74-php-pecl-rdkafka4:基于librdkafka的Kafka客户端php74-php-pecl-scoutapm:本地扩展组件 ScoutAPM的PHP代理php74-php-pecl-translit:将非拉丁字符音译设置为拉丁文php74-php-snuffleupagus:x86_64: PHP的安全模块php74-php-zephir-parser:x86_64: Zephir解析器扩展php74-php-pecl-cassandra:用于Apache的DataStax PHP驱动程序卡桑德拉php74-php-pecl-json-post:JSON POST处理程序php74-php-pecl-mailparse:用于解析和的PHP PECL包处理电子邮件消息php74-php-pecl-memcached:x86_64:使用Memcached的扩展缓存守护进程php74-php-pecl-mosquitto:libmosquito - to的扩展php74-php-pecl-seasclick:一个Yandex ClickHouse客户端驱动 PHP扩展php74-php-pecl-xlswriter:一个高效、快速的xlsx文件出口扩展php74-php-horde-horde-lz4:Horde LZ4压缩扩展php74-php-pecl-apcu-devel:APCu开发人员文件(头文件)php74-php-pecl-couchbase2:Couchbase服务器PHP扩展php74-php-pecl-geospatial:PHP扩展来处理公共地理空间功能php74-php-pecl-handlebars:Handlebars模板语言php74-php-pecl-http-devel:x86_64:扩展HTTP支持开发人员文件(头)php74-php-pecl-krb5-devel:Kerberos扩展开发人员文件(头)php74-php-pecl-luasandbox:带有限制和安全的Lua解释器环境php74-php-pecl-opencensus:一个stats集合和分布式跟踪框架php74-php-pecl-skywalking:x86_64: Apache的PHP工具代理人行天桥php74-php-pecl-ahocorasick:有效的Aho-Corasick字符串模式匹配算法php74-php-pecl-ip2location:获取an的地理位置信息IP地址php74-php-pecl-http-message:x86_64: PSR-7 HTTP消息实现php74-php-pecl-datadog-trace:APM和分布式跟踪PHPphp74-php-pecl-hdr-histogram:x86_64: C语言的PHP扩展包装hdrhistogram APIphp74-php-pecl-imagick-devel:imagick扩展开发人员文件(头)php74-php-pecl-msgpack-devel:MessagePack开发人员文件(头)php74-php-pecl-mysql-xdevapi:MySQL数据库访问函数php74-php-pecl-mysqlnd-azure:x86_64: mysqlnd的重定向插件php74-php-pecl-igbinary-devel:Igbinary开发人员文件(头)php74-php-pecl-uploadprogress:x86_64:跟踪进度的扩展文件上传

标签: #phpfann #centos8安装snmp服务 #php无法启动centos #phpmcrypt安装 #centos7安装remi源