導航:首頁 > 編程語言 > 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命令行查看文件數量 瀏覽:496
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