失眠网,内容丰富有趣,生活中的好帮手!
失眠网 > Centos8(Liunx) 中安装PHP7.4 的三种方法和删除它的三种方法

Centos8(Liunx) 中安装PHP7.4 的三种方法和删除它的三种方法

时间:2020-07-26 17:26:36

相关推荐

Centos8(Liunx) 中安装PHP7.4 的三种方法和删除它的三种方法

编译安装

Centos8下PHP源码编译和通过yum安装的区别和以后的选择

其实这两种方法各有千秋:

yum安装:

从yum安装来说吧,yum相当于是自动化帮你安装,你不用管软件的依赖关系,在yum安装过程是帮你把软件的全部依赖关系帮你傻瓜式的解决了。而且现在Centos7的服务启动已经换成systemctl命令来控制了。通过yum安装会帮你自动注册服务,你可以通过systemctl start xxx.service启动服务,方便快捷。但是缺点是yum安装你没办法干预,安装的目录也是分散的。你可能要执行whereis或者find命令去找yum安装的路径。有时候yum安装的软件版本比较低,你不得不去找其他的yum源,或者rpm包。

源码安装:

源码编译在安装过程中可能要解决很多的依赖问题,才能装好一个软件。装好的软件你还不能通过systemctl来启动服务,因为在/usr/lib/systemd/system/路径下并没有你的服务的配置文件,你要自己手写一个。但是好处在于你能选择软件的版本,自定义安装目录,安装的模块。更加灵活方便。

LNMP一键安装:

LNMP一键安装包是一个用Linux Shell编写的可以为CentOS/RHEL/Fedora/Aliyun/Amazon、Debian/Ubuntu/Raspbian/Deepin/Mint Linux VPS或独立主机安装LNMP(Nginx/MySQL/PHP)、LNMPA(Nginx/MySQL/PHP/Apache)、LAMP(Apache/MySQL/PHP)生产环境的Shell程序。无需一个一个的输入命令,无需值守,编译安装优化编译参数,提高性能,解决不必要的软件间依赖,特别针对配置自动优化。支持自定义Nginx、PHP编译参数及网站和数据库目录、支持生成LetseEcrypt证书、LNMP模式支持多PHP版本、支持单独安装Nginx/MySQL/MariaDB/Pureftpd服务器,同时提供一些实用的辅助工具如:虚拟主机管理、FTP用户管理、Nginx、MySQL/MariaDB、PHP的升级、常用缓存组件Redis/Xcache等的安装、重置MySQL root密码、502自动重启、日志切割、SSH防护DenyHosts/Fail2Ban、备份等许多实用脚本。

以上三种都是有各自的优点,建议是初学者一定要掌握源码编译的过程,手动解决安装过成中遇到的问题,熟悉如何编译一个软件,对于以后的发展是很有利的,而且有些软件没办法通过yum安装,这时候源码编译就显得很重要了。而像PHP这类软件来说,如果是编译安装的,如果缺少一个扩展,你就得做phpize, ./configure, make && make install等方式编译PHP扩展,这是很繁琐的。通过yum安装的话,当你要增加一个扩展,例如pdo,你就能够yum search php | grep pdo来寻找合适的pdo包,然后下载安装,系统会自动帮你添加到PHP扩展列表。省去我们很多工作。LNMP一键安装是为开发者快速搭建开发环境时使用,可以让开发者有更多时间在开发的业务逻辑上。

1.使用yum命令(学习yum的基本知识)

参考网站:

# /article/175918.htm# /php7-3-yum-install-on-centos-7/

这个方法是比较简单的方法,可以很简单快速地安装php。(rpm命令的基本用法和实例)

#添加几个源,不然会报错#php高版本的yum源地址,有两部分,其中一部分是epel-release,另外一部分来自webtatic。如果跳过epel-release的话,安装webtatic的时候rpm-Uvh/pub/epel/epel-release-latest-8.noarch.rpmrpm-Uvh/enterprise/remi-release-8.rpm

添加相关的库后,启用 PHP 7.4 的 Remi 模块并进行安装。

dnf-yinstalldnf-utils

#使用这个命令查看php7.4yumsearchphp74*

然后安装你想要的模块:

php74:安装PHP7.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:PHPFastCGI进程管理器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:用于SQLServer的PHPMicrosoft驱动程序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:ZendOPcachephp74-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:处理LZFde/压缩的扩展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:简单的PHPDirectMedia层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:LiteSpeedWeb服务器PHP支持php74-php-maxminddb:MaxMindDBReader扩展php74-php-pdo-dblib:x86_64:PDO驱动程序,用于MicrosoftSQLServer和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:PHPOAuth消费者扩展php74-php-pecl-parle:x86_64:解析和词法分析php74-php-pecl-raphf:资源和持久句柄工厂php74-php-pecl-solr2:ApacheSolr的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:SphinxSQL全文的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:LevelDBPHP绑定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的DataStaxPHP驱动程序卡桑德拉php74-php-pecl-json-post:JSONPOST处理程序php74-php-pecl-mailparse:用于解析和的PHPPECL包处理电子邮件消息php74-php-pecl-memcached:x86_64:使用Memcached的扩展缓存守护进程php74-php-pecl-mosquitto:libmosquito-to的扩展php74-php-pecl-seasclick:一个YandexClickHouse客户端驱动PHP扩展php74-php-pecl-xlswriter:一个高效、快速的xlsx文件出口扩展php74-php-horde-horde-lz4:HordeLZ4压缩扩展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-7HTTP消息实现php74-php-pecl-datadog-trace:APM和分布式跟踪PHPphp74-php-pecl-hdr-histogram:x86_64:C语言的PHP扩展包装hdrhistogramAPIphp74-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:跟踪进度的扩展文件上传

#运行一下yuminstallphp74-php

使用如下命令安装额外的包

yumsearchphp74*yuminstallphp74-xxx

运行并查看版本, 重启命令, 添加自动启动,链接php文件

#php74--php--php--s/opt/remi/php74/root/usr/bin/php/usr/bin/php

一些配置文件的路径

#ThecurrentPHPmemorylimitisbelowtherecommendedvalueof512MB.vi/etc/opt/remi/php74/php.inimemory_limit=512M#如果你运行的是nginx而不是apache,修改vi/etc/opt/remi/php74/php-fpm.d/www.confuser=apachegroup=apache#Replacethevalueswithuser=nginxgroup=nginx

卸载所有php7.4

yumremovephp74-php*

2.编译安装PHP以及需要的基本扩展库(php7.4)

参考网站:

/manual/zh/install.php

/werben/p/11833903.html

/ckh/p/10909672.html

/linux/1614.html

下载php源码

用php的官网,有很多源的,想要什么版本可以自己选一下

/distributions/php-7.4.2.tar.bz2

#回到用户目录cd~#下载php7.4源码wget/distributions/php-7.4.2.tar.bz2

下载完成

解压文的基本命令和实例

#把它移动到usr/php-..tar.bz2/usr/local/php-.--bzip-xvf/usr/local/php-..tar.bz2#切换文件目录cdphp-7.4.2

安装编译工具和库

安装php的依赖库和安装编译的工具,无论有没有装都可以执行一下

yum-yinstallgccgcc-c++yum-yinstalllibxml2-developenssl-develcurl-devellibjpeg-devellibpng-devellibicu-develfreetype-developenldap-developenldapopenldap-devel

创建用户组和用户

groupaddwwwuseradd-gwwwwww

php ./configure的一些参数及意义

PHP编译参数的含义./configure–prefix=/usr/local/phpphp安装目录–with-apxs2=/usr/local/apache/bin/apxs–with-config-file-path=/usr/local/php/etc指定php.ini位置–with-MySQL=/usr/local/mysqlmysql安装目录,对mysql的支持–with-mysqli=/usr/local/mysql/bin/mysql_configmysqli文件目录,优化支持–enable-safe-mode打开安全模式–enable-ftp打开ftp的支持–enable-zip打开对zip的支持–with-bz2打开对bz2文件的支持–with-jpeg-dir打开对jpeg图片的支持–with-png-dir打开对png图片的支持–with-freetype-dir打开对freetype字体库的支持–without-iconv关闭iconv函数,种字符集间的转换–with-libxml-dir打开libxml2库的支持–with-xmlrpc打开xml-rpc的C语言–with-zlib-dir打开zlib库的支持–with-gd打开gd库的支持–enable-gd-native-ttf支持TrueType字符串函数库–with-curl打开curl浏览工具的支持–with-curlwrappers运用curl工具打开url流–with-ttf打开freetype1.*的支持,可以不加了–with-xsl打开XSLT文件支持,扩展了libxml2库,需要libxslt软件–with-gettext打开gnu的gettext支持,编码库用到–with-pear打开pear命令的支持,php扩展用的–enable-calendar打开日历扩展功能–enable-mbstring多字节,字符串的支持–enable-bcmath打开图片大小调整,用到zabbix监控的时候用到了这个模块–enable-sockets打开sockets支持–enable-exif图片的元数据支持–enable-magic-quotes魔术引用的支持–disable-rpath关闭额外的运行库文件–disable-debug关闭调试模式–with-mime-magic=/usr/share/file/magic.mime魔术头文件位置cgi方式安装才用的参数–enable-fpm打上php-fpm补丁后才有这个参数,cgi方式安装的启动程序–enable-fastcgi支持fastcgi方式启动php–enable-force-cgi-redirect同上,帮助里没有解释–with-ncurses支持ncurses屏幕绘制以及基于文本终端的图形互动功能的动态库–enable-pcntlfreeTDS需要用到的,可能是链接mssql才用到mhash和mcrypt算法的扩展–with-mcrypt算法–with-mhash算法–with-gmp–enable-inline-optimization–with-opensslopenssl的支持,加密传输时用到的–enable-dbase–with-pcre-dir=/usr/local/bin/pcre-configperl的正则库案安装位置–disable-dmalloc–with-gdbmdba的gdbm支持–enable-sigchild–enable-sysvsem–enable-sysvshm–enable-zend-multibyte支持zend的多字节–enable-mbregex–enable-wddx–enable-shmop–enable-soapPHP配置选项完整列表数据库选项--with-dbplus包括dbplus的支持。--with-adabas[=DIR]包括AdabasD的支持。DIR是Adabas的基本安装目录,默认为/usr/local。--with-sapdb[=DIR]包括SAPDB的支持。DIR是SAPDB的基本安装目录,默认为/usr/local。--with-solid[=DIR]包括Solid的支持。DIR是Solid的基本安装目录,默认为/usr/local/solid。--with-ibm-db2[=DIR]包括IBMDB2的支持。DIR是DB2的基本安装目录,默认为/home/db2inst1/sqllib。--with-empress[=DIR]包括Empress的支持。DIR是Empress的基本安装目录,默认为$EMPRESSPATH。自PHP4起,本选项仅支持Empress8.60及以上版本。--with-empress-bcs[=DIR]包括EmpressLocalAccess的支持。DIR是Empress的基本安装目录,默认为$EMPRESSPATH。自PHP4起,本选项仅支持Empress8.60及以上版本。--with-birdstep[=DIR]包括Birdstep的支持。DIR是Birdstep的基本安装目录,默认为/usr/local/birdstep。--with-custom-odbc[=DIR]包括用户自定义ODBC的支持。DIR是ODBC的基本安装目录,默认为/usr/local。要确认定义了CUSTOM_ODBC_LIBS并且在include目录中有某个odbc.h。例如,对于QNX下的SybaseSQLAnywhere5.5.00,在运行configure脚本之前应该先定义以下环境变量:CPPFLAGS="-DODBC_QNX-DSQLANY_BUG"LDFLAGS=-lunixCUSTOM_ODBC_LIBS="-ldblib-lodbc".--with-iodbc[=DIR]包括iODBC的支持。DIR是iODBC的基本安装目录,默认为/usr/local。--with-esoob[=DIR]包括EasysoftOOB的支持。DIR是OOB的基本安装目录,默认为/usr/local/easysoft/oob/client。--with-unixODBC[=DIR]包括unixODBC的支持。DIR是unixODBC的基本安装目录,默认为/usr/local。--with-openlink[=DIR]包括OpenLinkODBC的支持。DIR是OpenLink的基本安装目录,默认为/usr/local。这和iODBC一样。--with-dbmaker[=DIR]包括DBMaker的支持。DIR是DBMaker的基本安装目录,默认为最新版DBMaker安装的目录(例如/home/dbmaker/3.6)。--disable-unified-odbc取消对unifiedODBC的支持。仅适用于激活了iODBC,Adabas,Solid,Velocis或用户自定义ODBC界面。仅能用于PHP3!图像选项--without-gd禁用GD支持。仅用于PHP3!--with-imagickImagick扩展被移到PEAR中的PECL中去了,可以在这里找到。PHP4中的安装指示可以在PEAR站点中找到。只用--with-imagick仅在PHP3中支持,除非依照PEAR站点的指示去做。--with-ming[=DIR]包括ming支持。杂类选项--enable-force-cgi-redirect激活服务器内部重定向的安全检查。如果是在Apache中以CGI方式使用PHP则应该使用此选项。--enable-discard-path使用此选项可以使PHP的CGI可执行程序安全地放置在web目录树以外的地方,并且别人也不能绕过.htaccess的安全设置。--with-fastcgi将PHP编译成FastCGI应用程序。--enable-debug编译时加入调试符号。--with-layout=TYPE设置安装后的文件布局。TYPE可以是PHP(默认值)或者GNU。--with-pear=DIR将PEAR安装在DIR目录中(默认为PREFIX/lib/php)。--without-pear不安装PEAR。--enable-sigchild激活PHP自己的SIGCHILD句柄。--disable-rpath禁止传递附加的运行时库搜索路径。--enable-libgcc激活显式libgcc连接。--enable-php-streams包含试验的PHP流。除非是测试源代码,否则不要使用!--with-zlib-dir=<DIR>定义zlib的安装路径。--with-aspell[=DIR]包含ASPELL支持。--with-ccvs[=DIR]包含CCVS支持。--with-cybercash[=DIR]包含CyberCash支持。DIR是CyberCashMCK的安装目录。--with-icap[=DIR]包含ICAP支持。--with-ircg-configircg-config脚本的路径。--with-ircg包含ircg支持。--enable-mailparse包含mailparse支持。--with-muscat[=DIR]包含muscat支持。--with-satellite[=DIR]激活通过Satellite(试验性质)的CORBA支持。DIR是ORBit的主目录。--enable-trans-sid激活透明的sessionid传播。--with-regex[=TYPE]使用系统regex库(不赞成)。--with-vpopmail[=DIR]包含vpopmail支持。--with-tsrm-pthreads使用POSIX线程(默认值)。--enable-shared[=PKGS]编译共享库[default=yes]。--enable-static[=PKGS]编译静态库[default=yes]。--enable-fast-install[=PKGS]为快速安装而优化[default=yes]。--with-gnu-ld假定C编译器使用GNUld[default=no]。--disable-libtool-lock避免锁死(可能会破坏并行编译)。--with-pic尝试只使用PIC/non-PIC对象[default=useboth]。--enable-memory-limit编译时加入内存限制支持。--disable-url-fopen-wrapper禁止通过URL的fopenwrapper,不能通过HTTP或FTP访问文件。--enable-versioning仅输出所需要的符号。更多信息见INSTALL文件。--with-imsp[=DIR]包含IMSp支持(DIR是IMSP的include目录和libimsp.a目录)。仅用于PHP3!--with-mck[=DIR]包含CybercashMCK支持。DIR是cybercashmck编译目录,默认为/usr/src/mck-3.2.0.3-Linux。帮助见extra/cyberlib。仅用于PHP3!--with-mod-dav=DIR包含通过Apache的mod_dav的DAV支持。DIR是mod_dav的安装目录(仅用于Apache模块版本!)仅用于PHP3!--enable-debugger编译入远程调试函数。仅用于PHP3!--enable-versioning利用Solaris2.x和Linux提供的版本控制与作用范围的优势。仅用于PHP3!PHP选项--enable-maintainer-mode激活将编译规则和未使用的(以及一些混淆的)依赖文件放入临时安装中。--with-config-file-path=PATH设定php.ini所在的路径,默认为PREFIX/lib。--enable-safe-mode默认激活安全模式。--with-exec-dir[=DIR]安全模式下只允许此目录下执行程序。默认为/usr/local/php/bin。--enable-magic-quotes默认激活magicquotes。--disable-short-tags默认禁止简写的PHP开始标记<?。服务器选项--with-aolserver=DIR指定已安装的AOLserver的路径。--with-apxs[=FILE]编译共享Apache模块。FILE是可选的Apache的apxs工具的路径,默认为apxs。确保指定的apxs版本是安装后的文件而不是Apache源程序中包中的。--with-apache[=DIR]编译Apache模块。DIR是Apache源程序的最高一级目录。默认为/usr/local/apache。--with-mod_charset激活mod_charset中的传递表(Apache中)。--with-apxs2[=FILE]编译共享的Apache2.0模块。FILE是可选的Apache的apxs工具的路径,默认为apxs。--with-fhttpd[=DIR]编译fhttpd模块。DIR是fhttpd的源代码路径,默认为/usr/local/src/fhttpd。--with-isapi=DIR将PHP编译为ISAPI模块用于Zeus。--with-nsapi=DIR指定已安装的Netscape服务器路径。--with-phttpd=DIR--with-pi3web=DIR将PHP编译为用于Pi3Web的模块。--with-roxen=DIR将PHP编译为一个Pike模块。DIR是Roxen的根目录,通常为/usr/local/roxen/server。--enable-roxen-zts编译Roxen模块,使用ZendThreadSafety。--with-servlet[=DIR]包含servlet支持。DIR是JSDK的基本安装目录。本SAPI需要Java扩展必须被编译为共享的dl。--with-thttpd=SRCDIR将PHP编译为thttpd模块。--with-tux=MODULEDIR将PHP编译为TUX模块(仅用于Linux)。

配置fpm的用户组和用户,以及安装其他扩展

./configure--prefix=/usr/local/php\--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

开始检查依赖,做编译安前的准备

一般都会有错误:

错误一:

解决方法:缺了这个sqlite3这个包,我们就安装它

yuminstallsqlite-devel

错误二:

解决方法:它说没有找到这个文件夹,我们就给它一个

cp-frp/usr/lib64/libldap*/usr/lib/

错误三:

解决方法:缺了这个oniguruma这个包,我们就安装它

yuminstalloniguruma

结果不行,去查看了官方更新日志 发现mbsting 需要oniguruma6.9.4

git的基本用户和实例,git与github的区别

#从github中下载源码gitclone/kkos/oniguruma

#要删除之前安的yumremoveonigurma*-./

运行./configure,直接出现下图

编译安装(安装要花一点时间)

make&&makeinstall

映射全局命令

ln-s/usr/local/php/sbin/*/usr/local/sbin/ln-s/usr/local/php/bin/*/usr/local/bin/

输入 php -v ,出现下图,这就安装成功了

删除php7.4

rm-rf/usr/local/php/bin/php/usr/local/sbin/php-fpm/usr/local/bin/php/usr/local/bin/pear/usr/local/bin/peardev/usr/local/bin/pecl/usr/local/bin/phar/usr/local/bin/phar.phar/usr/local/bin/php-cgi/usr/local/bin/php-config/usr/local/bin/phpdbg/usr/local/bin/phpize

3.LNMP(一键安装包)仅安装(php7.4)

参考网站

/

出官网找到有php7.4的版本,是lnmp1.7才开始支持php7.4,但不是稳定版,如果是用于生产环境还是建议用稳的版本

wgethttp:lnmp1.7beta.tar.gzcdlnmp1.7./install.sh

输入0,不安装DataBase(数据库)

输入10,安装php7.4这个版本

可以选择不安装、Jemalloc或TCmalloc,输入对应序号回车,直接回车为默认为不安装

脚本会自动下载安装php7.4

LNMP相关软件安装目录

Nginx目录:/usr/local/nginx/MySQL目录:/usr/local/mysql/MySQL数据库所在目录:/usr/local/mysql/var/MariaDB目录:/usr/local/mariadb/MariaDB数据库所在目录:/usr/local/mariadb/var/PHP目录:/usr/local/php/多PHP版本目录:/usr/local/php5.5/其他版本前面5.5的版本号换成其他即可PHPMyAdmin目录:0.9版本为/home/wwwroot/phpmyadmin/1.0及以后版本为/home/wwwroot/default/phpmyadmin/强烈建议将此目录重命名为其不容易猜到的名字。phpmyadmin可自己从官网下载新版替换。默认网站目录:0.9版本为/home/wwwroot/1.0及以后版本为/home/wwwroot/default/Nginx日志目录:/home/wwwlogs//root/vhost.sh添加的虚拟主机配置文件所在目录:/usr/local/nginx/conf/vhost/PureFtpd目录:/usr/local/pureftpd/PureFtpdweb管理目录:0.9版为/home/wwwroot/default/ftp/1.0版为/home/wwwroot/default/ftp/Proftpd目录:/usr/local/proftpd/Redis目录:/usr/local/redis/

LNMP相关配置文件位置

Nginx主配置(默认虚拟主机)文件:/usr/local/nginx/conf/nginx.conf添加的虚拟主机配置文件:/usr/local/nginx/conf/vhost/域名.confMySQL配置文件:/etc/fPHP配置文件:/usr/local/php/etc/php.iniphp-fpm配置文件:/usr/local/php/etc/php-fpm.confPureFtpd配置文件:/usr/local/pureftpd/pure-ftpd.conf1.3及更高版本:/usr/local/pureftpd/etc/pure-ftpd.confPureFtpdMySQL配置文件:/usr/local/pureftpd/pureftpd-mysql.confProftpd配置文件:/usr/local/proftpd/etc/proftpd.conf1.2及之前版本为/usr/local/proftpd/proftpd.confProftpd用户配置文件:/usr/local/proftpd/etc/vhost/用户名.confRedis配置文件:/usr/local/redis/etc/redis.conf

LNMPA相关目录文件位置

Apache目录:/usr/local/apache/Apache配置文件:/usr/local/apache/conf/httpd.confApache虚拟主机配置文件目录:/usr/local/apache/conf/vhost/Apache默认虚拟主机配置文件:/usr/local/apache/conf/extra/httpd-vhosts.conf虚拟主机配置文件名称:/usr/local/apache/conf/vhost/域名.conf

LNMP状态管理命令:

LNMP 1.2+状态管理: lnmp {start|stop|reload|restart|kill|status}

LNMP 1.2+各个程序状态管理: lnmp {nginx|mysql|mariadb|php-fpm|pureftpd} {start|stop|reload|restart|kill|status}

LNMP 1.1状态管理: /root/lnmp {start|stop|reload|restart|kill|status}

Nginx状态管理:/etc/init.d/nginx {start|stop|reload|restart}

MySQL状态管理:/etc/init.d/mysql {start|stop|restart|reload|force-reload|status}

Memcached状态管理:/etc/init.d/memcached {start|stop|restart}

PHP-FPM状态管理:/etc/init.d/php-fpm {start|stop|quit|restart|reload|logrotate}

PureFTPd状态管理: /etc/init.d/pureftpd {start|stop|restart|kill|status}

ProFTPd状态管理: /etc/init.d/proftpd {start|stop|restart|reload}

Redis状态管理: /etc/init.d/redis {start|stop|restart|kill}

多PHP版本状态管理:/etc/init.d/php-fpm5.5 {start|stop|quit|restart|reload|logrotate} 前面5.5为对应的PHP版本,其他版本自行替换。

如重启LNMP,1.2+输入命令:lnmp restart 即可;单独重启mysql:/etc/init.d/mysql restart 也可以 lnmp mysql restart ,两个是一样的。

LNMPA状态管理命令:

LNMPA 1.2+状态管理: lnmp {start|stop|reload|restart|kill|status}

LNMPA 1.2+各个程序状态管理: lnmp {httpd|mysql|mariadb|pureftpd} {start|stop|reload|restart|kill|status}

LNMPA1.1状态管理: /root/lnmpa {start|stop|reload|restart|kill|status}

Nginx状态管理:/etc/init.d/nginx {start|stop|reload|restart}

MySQL状态管理:/etc/init.d/mysql {start|stop|restart|reload|force-reload|status}

Memcached状态管理:/etc/init.d/memcached {start|stop|restart}

PureFTPd状态管理: /etc/init.d/pureftpd {start|stop|restart|kill|status}

ProFTPd状态管理: /etc/init.d/proftpd {start|stop|restart|reload}

Apache状态管理:/etc/init.d/httpd {start|stop|restart|graceful|graceful-stop|configtest|status}

LAMP状态管理命令:

LAMP 1.2+状态管理: lnmp {start|stop|reload|restart|kill|status}

LAMP 1.2+各个程序状态管理: lnmp {httpd|mysql|mariadb|pureftpd} {start|stop|reload|restart|kill|status}

如果觉得《Centos8(Liunx) 中安装PHP7.4 的三种方法和删除它的三种方法》对你有帮助,请点赞、收藏,并留下你的观点哦!

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。