导航:首页 > 编程语言 > php7向下兼容

php7向下兼容

发布时间:2023-07-13 18:44:04

php8和php7不兼容

主要是MySQL8.0默认是utfmb4的格式,PHP默认的是UTF8格式。
解决方法:需要将MySQL8.0默认格式设置为UTF8,身份认证的加密方式不兼容导致的,MySQL8.0中默认方式为caching_sha2_password。
新建用老版加密方式初始化密码的用户即可,然后在my.cnf中添加一行。

❷ thinkphp支持php7吗

您好,一般程序商发布的新版本都会兼容支持PHP7,ThinkPHP5~6新版本应该仅支持PHP7.x系。

❸ 如何在CentOS 7.3上安装Apache,PHP 7.1和M6767ySQL

1初步说明

在本教程中,我使用IP地址为192.168.1.100的hostname server1.example.com 。 这些设置可能会有所不同,因此您必须在适当的情况下更换它们。

我会在这里添加EPEL repo来安装最新的phpMyAdmin,如下所示:

rpm --import /etc/pki/rpm-gpg/RPM-GPG-KEY*
yum -y install epel-release

要在shell上编辑文件,我将安装nano编辑器。 如果您喜欢vi进行文件编辑,请跳过此步骤。

yum -y install nano

2安装MySQL / MariaDB

MariaDB是原始MySQL开发人员Monty Widenius的MySQL分支。 MariaDB与MySQL兼容,我选择使用MariaDB而不是MySQL。 运行此命令以安装MariaDB:

yum -y install mariadb-server mariadb

然后,我们为MySQL创建系统启动链接(以便每当系统启动时,MySQL自动启动)并启动MySQL服务器:

systemctl start mariadb.service
systemctl enable mariadb.service

设置MySQL根帐户的密码:

mysql_secure_installation

[root@server1 ~]# mysql_secure_installation
/usr/bin/mysql_secure_installation: line 379: find_mysql_client: command not found

NOTE: RUNNING ALL PARTS OF THIS SCRIPT IS RECOMMENDED FOR ALL MariaDB
SERVERS IN PRODUCTION USE! PLEASE READ EACH STEP CAREFULLY!

In order to log into MariaDB to secure it, we'll need the current
password for the root user. If you've just installed MariaDB, and
you haven't set the root password yet, the password will be blank,
so you should just press enter here.

Enter current password for root (enter for none): <--ENTER
OK, successfully used password, moving on...

Setting the root password ensures that nobody can log into the MariaDB
root user without the proper authorisation.

Set root password? [Y/n]
New password: <--yourmariadbpassword
Re-enter new password: <--yourmariadbpassword
Password updated successfully!
Reloading privilege tables..
... Success!


By default, a MariaDB installation has an anonymous user, allowing anyone
to log into MariaDB without having to have a user account created for
them. This is intended only for testing, and to make the installation
go a bit smoother. You should remove them before moving into a
proction environment.

Remove anonymous users? [Y/n] <--ENTER
... Success!

Normally, root should only be allowed to connect from 'localhost'. This
ensures that someone cannot guess at the root password from the network.

Disallow root login remotely? [Y/n] <--ENTER
... Success!

By default, MariaDB comes with a database named 'test' that anyone can
access. This is also intended only for testing, and should be removed
before moving into a proction environment.

Remove test database and access to it? [Y/n] <--ENTER
- Dropping test database...
... Success!
- Removing privileges on test database...
... Success!

Reloading the privilege tables will ensure that all changes made so far
will take effect immediately.

Reload privilege tables now? [Y/n] <--ENTER
... Success!

Cleaning up...

All done! If you've completed all of the above steps, your MariaDB
installation should now be secure.

Thanks for using MariaDB!
[root@server1 ~]#

3安装Apache

CentOS 7附带apache 2.4。 Apache可以直接作为CentOS 7软件包使用,因此我们可以这样安装:

yum -y install httpd

这里是安装过程的截图。

现在配置您的系统启动Apache启动时...

systemctl start httpd.service

systemctl enable httpd.service

为了能够从外部访问Web服务器,我们必须打开防火墙中的HTTP(80)和HTTPS(443)端口。 CentOS上的默认防火墙是firewalld,可以使用firewalld-cmd命令配置。

firewall-cmd --permanent --zone=public --add-service=http
firewall-cmd --permanent --zone=public --add-service=https
firewall-cmd --reload

现在将您的浏览器指向服务器的IP地址,在我的情况下为http://192.168.1.100 ,您应该看到Apache占位符页面:

4安装PHP

CentOS附带的PHP版本相当旧(PHP 5.4),因此,我将在此步骤中显示一些选项,从Remi存储库安装更新的PHP版本,如PHP 7.0或7.1。

添加Remi CentOS存储库。

rpm -Uvhhttp://rpms.remirepo.net/enterprise/remi-release-7.rpm

安装yum-utils,因为我们需要yum-config-manager实用程序。

yum -y install yum-utils

并运行yum更新

yum update

现在您必须选择要在服务器上使用哪个PHP版本。 如果你喜欢使用PHP 5.4,那么继续下一个命令。 要安装PHP 7.0,请遵循第4.1章和PHP 7.1中的命令,使用第4.2章。

要安装PHP 5.4,请运行以下命令:

yum -y installphp

4.1安装PHP 7.0(可选)

我们可以安装PHP 7.0和Apache PHP 7.0模块,如下所示:

yum-config-manager --enable remi-php70

yum -y installphp php-opcache

4.2安装PHP 7.1(可选)

如果要使用PHP 7.1,请使用:

yum-config-manager --enable remi-php71

yum -y installphp php-opcache

在这个例子中,在可下载的虚拟机中,我将使用PHP 7.1。

我们必须重新启动Apache来应用更改:

systemctl restart httpd.service

5测试PHP /获取有关您的PHP安装的详细信息

默认网站的文档根目录是/ var / www / html。 我们将在该目录中创建一个小型的PHP文件(info.php),并在浏览器中调用它来测试PHP安装。 该文件将显示有关我们的PHP安装的许多有用的细节,例如安装的PHP版本。

nano /var/www/html/info.php

<?php
phpinfo();?>

现在我们在浏览器中调用该文件(例如http://192.168.1.100/info.php ):

如您所见,PHP 7.1正在工作,它正在通过Apache 2.0处理程序,如Server API行所示。 如果您进一步向下滚动,您将看到在PHP中已启用的所有模块。 MySQL没有列出,这意味着我们还没有在PHP中支持MySQL。

6在PHP中获取MySQL支持

要在PHP中获得MySQL支持,我们可以安装php71w-mysql包。 安装一些其他PHP模块是一个好主意,也可能需要它们用于应用程序。 您可以搜索可用的PHP5模块,如下所示:

yum search php

选择您需要的并安装它们:

yum -y install php-mysql

在下一步中,我将安装一些常见的PHP模块,CMS系统如Wordpress,Joomla和Drupal所需:

yum -y install php-gd php-ldap php-odbc php-pear php-xml php-xmlrpc php-mbstringphp-soap curl curl-devel

现在重新启动Apache Web服务器:

systemctl restart httpd.service

现在在您的浏览器中重新加载http://192.168.1.100/info.php并再次向下滚动到模块部分。 你现在应该找到很多新的模块,如Curl等。

如果您不再需要php信息输出,那么为了安全起见,请删除该文件。

rm/var/www/html/info.php

7 phpMyAdmin安装

phpMyAdmin是一个Web界面,您可以通过它来管理MySQL数据库。
phpMyAdmin现在可以安装如下:

yum -y install phpMyAdmin

现在我们配置phpMyAdmin。 我们更改Apache配置,以便phpMyAdmin不仅允许从localhost进行连接(通过注释<RequireAny>节并添加“要求所有已授予”行):

nano /etc/httpd/conf.d/phpMyAdmin.conf

[...]
Alias /phpMyAdmin /usr/share/phpMyAdminAlias /phpmyadmin /usr/share/phpMyAdmin<Directory /usr/share/phpMyAdmin/>
AddDefaultCharset UTF-8

<IfMole mod_authz_core.c>
# Apache 2.4
# <RequireAny>
# Require ip 127.0.0.1
# Require ip ::1
# </RequireAny>
Require all granted
</IfMole>
<IfMole !mod_authz_core.c>
# Apache 2.2
Order Deny,Allow
Deny from All
Allow from 127.0.0.1
Allow from ::1
</IfMole>
</Directory>
<Directory /usr/share/phpMyAdmin/>
Options none AllowOverride Limit
Require all granted</Directory>

[...]

接下来,我们将phpMyAdmin中的身份验证从cookie更改为http :

nano /etc/phpMyAdmin/config.inc.php

[...]$cfg['Servers'][$i]['auth_type'] = 'http'; // Authentication method (config, http or cookie based)?[...]

重新启动Apache:

systemctl restart httpd.service

之后,您可以访问http://192.168.1.100/phpmyadmin/下的phpMyAdmin :

8作为虚拟机下载

此设置可用于以ova / ovf格式(与VMWare和Virtualbox兼容)的虚拟机下载,以了解用户的身份。

VM的登录详细信息

❹ php7还会向下兼容吗

会什么与不会什么的选择罢了,学了那么多,能综合运用的才牛逼。
个人比较喜欢asp,asp.net,喜欢PHP,也喜欢java,那些讨厌.net或者说没前景的,恐怕还只活在自己的世界里头不知道u3d吧。

asp开发小型站点很便捷,PHP亦同,当然,选择什么不重要,个人一直认为,技术只是为各种应用场景服务的底层东西而已,比如某个策划,某场活动亦或是某个it领域,没必要去深究孰是孰非,非得对比个所以然,来个优胜劣汰,对我来说,鄙人爱不释手也痛恨的就是php了,用它很方便,同时也烦人。

php也能开发应用程序,也可以很强大的构建一个web站点,虽说PHP针对的是后者,但是这开源的东西确实不怎么稳妥:没有统一的数据库支持(虽说有了pdo支持,不过也有瓶颈,懂的人自己领悟),随心所欲的增删内置函数库和类方法等等等等(我是指这个版本里头有,下个版本可能就删了,迭代几个版本又放回来),这种时有时无随心所欲的不规范,有时候爱莫能助,程序迁移和升级成本超出想象。

可能有喷子会喷了,什么淘宝网络都用PHP,请问你真的见过他们家怎么优化维护的么?不是"哪家大公司都在用,这个东西就好",是因为一旦选择了就要做好,除非真的是没法继续用下去,因为换一套底层的东西往往成本和代价是最大的。
鄙人还是那个观点,技术是为生产服务的,爱用什么就用什么,当然,最熟悉,最稳定可靠的是首选。所以鄙人在大型项目中一般不轻易选择PHP(如果你用过,并且从PHP低版本到高版本持续维护某套程序,就知道维护成本多惊人,因为PHP向下兼容能力实在是噩梦)。

说.net不好的人,鄙人也有观点,世界上没有任何的东西绝对好或者绝对的坏,关键看自己,学了点皮毛就出来闯社会的多了去。但是这么多年过去了,.net很少听说因为升级造成应用不能运行吧,这就是一个稳定的支持团队造就稳定的应用规范体系,对比PHP这个就很明显了,而java。估计又有喷子说什么程序跨平台了,喷吧,.net也可以跨平台知道么?

说了一大堆,鄙人从来不觉得这些东西叫语言,只是技术范畴,一种生产工具而已,好不好,坏不坏,靠的是自己,工具本身无罪。

阅读全文

与php7向下兼容相关的资料

热点内容
ftp命令行查看文件数量 浏览:494
linux查看设备的命令 浏览:827
pythongolang学哪个 浏览:349
金蝶加密锁驱动下载 浏览:300
python编程基于自然语言处理库 浏览:133
javaseruntime 浏览:902
cad如何将命令放在鼠标旁边 浏览:746
程序员对粉色 浏览:125
编译器命令java 浏览:989
云服务器怎么数据同步 浏览:685
c盘文件修复命令语 浏览:966
文件夹中文件怎么上下移动 浏览:831
魅族手机用什么软件解压 浏览:763
加密币糖果 浏览:300
c编译调试是什么 浏览:631
安装mysql服务命令 浏览:734
程序员cpa考试 浏览:200
汕头买房用什么app好 浏览:23
民生原号码掉失如何登录app 浏览:710
如何设置服务器的重生点 浏览:272