yum官方源和阿里云的源,只有php5的包(如下图);
网上看到webtatic源有php7。当然也可以用编译安装(如果你有精力去折腾编译安装的各种配置)。这里记录yum-webtatic源的安装方式
centos7通过yum安装PHP7,首先添加有php7的yum软件仓库(webtatic源)
rpm -ivh https://mirror.webtatic.com/yum/el7/webtatic-release.rpm
# 网上很多人用的下面这条命令,都可以。
rpm -Uvh https://mirror.webtatic.com/yum/el7/webtatic-release.rpm
提示错误:需要先安装epel-release。
error: Failed dependencies:
epel-release >= 7 is needed by webtatic-release-7-3.noarch
步骤
- 安装epel-release
yum -y install epel-release
- 安装PHP7
不报错就是成功了。我们也可以通过命令检查一下有没有添加成功:# 终端再次运行如下命令:添加有php7的yum软件仓库(webtatic源) rpm -ivh https://mirror.webtatic.com/yum/el7/webtatic-release.rpm # 网上很多人用的下面这条命令,都可以。 rpm -Uvh https://mirror.webtatic.com/yum/el7/webtatic-release.rpm
yum repolist
yum repolist enabled
yum repolist all
任意一个命令均可。
可以看看,此时已经可以获取到PHP7x的版本了,如果不显示可以重建缓存,先后执行:清空缓存yum clean all
、创建缓存yum makecache
#成功获取到了PHP7的yum源,然后执行: yum install php72w #这样就把PHP7安装下来了,若要启用还要继续往下走:
- 验证安装
方法一
方法二# 1. 重启apache服务,重新加载php7 service httpd restart # 2. 在var/www/html/下新建info.php文本,内容如下,访问服务器ip/info.php,可以看到正常的php7信息 <?php phpinfo();
# 终端命令:php -v,显示当前PHP版本,可能会显示找不到命令 [root@MyCentOS yum.repos.d]# php -v -bash: php: command not found
php -v
提示command not found
是因为php72w-cli
这个拓展没有安装,其实还有很多拓展是需要安装的,可以直接执行以下命令(php72w-devel
包含了php72w-cli
,安装过程可以看到):
上述命令一共会安装大约30个拓展包,安装过程较慢,请耐心等待。。。yum install php72w-cli php72w-devel php72w-common php72w-fpm php72w-opcache php72w-gd php72w-mysqlnd php72w-mbstring php72w-pecl-redis php72w-pecl-memcached
安装的拓展包如下(未列全):php-api, php-bz2, php-calendar, php-ctype, php-curl, php-date, php-exif, php-fileinfo, php-filter, php-ftp, php-gettext, php-gmp, php-hash, php-iconv, php-json, php-libxml, php-openssl, php-pcre, php-pecl-Fileinfo, php-pecl-phar, php-pecl-zip, php-reflection, php-session, php-shmop, php-simplexml, php-sockets, php-spl, php-tokenizer, php-zend-abi, php-zip, php-zlib
- 最后启动服务,重新加载php7
systemctl enable php-fpm.service systemctl start php-fpm.service service httpd restart
- 为了进一步强大php72w的开发环境,列出所有rpm包(未列全),可以按需安装, 以安装php72w更加全面的拓展包:
安装包 提供的拓展 php72w mod_php , php72w-zts php72w-bcmath php72w-cli php-cgi, php-pcntl, php-readline php72w-dba php72w-devel php72w-embedded php-embedded-devel php72w-enchant php72w-fpm php72w-gd php72w-imap php72w-interbase php_database, php-firebird php72w-intl php72w-ldap php72w-mbstring php72w-mcrypt php72w-mysql php-mysqli, php_database php72w-mysqlnd php-mysqli, php_database php72w-odbc php-pdo_odbc, php_database php72w-opcache php72w-pecl-zendopcache php72w-pdo php72w-pdo_sqlite, php72w-sqlite3 php72w-pdo_dblib php72w-mssql php72w-pear php72w-pecl-apcu php72w-pecl-imagick php72w-pecl-memcached php72w-pecl-mongodb php72w-pecl-redis php72w-pecl-xdebug php72w-pgsql php-pdo_pgsql, php_database php72w-phpdbg php72w-process php-posix, php-sysvmsg, php-sysvsem, php-sysvshm php72w-pspell php72w-recode php72w-snmp php72w-soap php72w-tidy php72w-xml php-dom, php-domxml, php-wddx, php-xsl php72w-xmlrpc
😁欢迎加入QQ群交流: [游戏-Web-开发技术栈 ☄️] ‘300567032’
点击下方图标一键加入!