php7優化
1. php7 mysql5.7 與以前版本 有哪些性能優化
1.首先可以考慮業務層面優化,即垂直分表。
垂直分表就是把一個數據量很大的表,可以按某個欄位的屬性或使用頻繁程度分類,拆分為多個表。
如有多種業務類型,每種業務類型入不同的表,table1,table2,table3.
如果日常業務不需要使用所有數據,可以按時間分表,比如說月表。每個表只存一個月記錄。
2.架構上的優化,即水平分表。
水平分表就是根據一列或多列數據的值把數據行放到多個獨立的表裡,這里不具備業務意義。
如按照id分表,末尾是0-9的數據分別插入到10個表裡面。
可能你要問,這樣看起來和剛才說的垂直分表沒什麼區別。只不過是否具備業務意義的差異,都是按欄位的值來分表。
實際上,水平分表現在最流行的實現方式,是通過水平分庫來實現的。即剛才所說的10個表,分布在10個mysql資料庫上。這樣可以通過多個低配置主機整合起來,實現高性能。
2. php7的性能會趕上java嗎
性能這個玩意,和你代碼邏輯有很大關系,再者和資料庫的優化也有關,php 7 開了opcache性能比以前的版本高了差不多一倍,你可試試同樣的數據查詢,他倆誰快
3. php7中為什麼不能用
PHP(外文名:PHP: Hypertext Preprocessor,中文名:「超文本預處理器」)是一種通用開源腳本語言。語法吸收了C語言、Java和Perl的特點,利於學習,使用廣泛,主要適用於Web開發領域。PHP 獨特的語法混合了C、Java、Perl以及PHP自創的語法。它可以比CGI或者Perl更快速地執行動態網頁。用PHP做出的動態頁面與其他的編程語言相比,PHP是將程序嵌入到HTML(標准通用標記語言下的一個應用)文檔中去執行,執行效率比完全生成HTML標記的CGI要高許多;PHP還可以執行編譯後代碼,編譯可以達到加密和優化代碼運行,使代碼運行更快。
php7
1. 不要使用 mysql_ 函數
這一天終於來了,從此你不僅僅「不應該」使用mysql_函數。PHP 7 已經把它們從核心中全部移除了,也就是說你需要遷移到好得多的mysqli_函數,或者更靈活的 PDO 實現。
2. 不要編寫垃圾代碼
這一條可能易於理解,但是會變得越來越重要,因為 PHP 7 的速度提升可能會隱藏你的一些問題。不要僅僅滿足於你的站點速度,因為遷移到 PHP 7 才讓它變快。
為了理解速度有多重要,以及如何把事情做得更好,請看一看我們的文章速度優化入門指南。
作為一名開發者,你應該總是確保按需載入腳本,盡可能連接它們,編寫高效的資料庫查詢,盡可能使用緩存,以及其它。
3. 不要在文件末尾使用 PHP 閉合標簽
你可以看一看,當一個文件以 PHP 代碼結尾時,WordPress 多數核心代碼都把末尾的 PHP 標簽去掉了。實際上,Zend 框架特別禁止了它。PHP 並不需要文件末尾的閉合標簽,並且我們可以通過去掉它來保證不會在後面添加任何的空白字元。
4. 不要做不必要的引用傳遞
我個人不喜歡引用傳遞。我知道有時候它很實用,但是其它情況下它使代碼變得難懂,並且更難預測結果。
據說一些人認為它使代碼運行更快,但是根據一些 PHP 高級程序員所說,這並不正確。
說明引用為什麼不好的一個例子是,PHP 內建了shuffle()和sort()。它們修改原始數組,而不是返回處理後的數組,這很不合邏輯。
5. 不要在循環中執行查詢
在循環中執行查詢非常浪費。它給你的系統施加不必要的壓力,並且可能能夠在循環外部更快獲得相同結果。當我遇到需要這樣的情況時,我通常會使用兩個分離的查詢來解決問題,我會使用它們來構建數據數組。之後我會遍歷數組,並不需要在這個過程中執行查詢。
由於 WordPress 適用於這里,它可能有一些例外。雖然get_post_meta() 會從資料庫獲取大量數據,如果你正在遍歷某個特殊博文的元數據你可以在循環中使用它。這是因為當你第一次調用它的時候,WordPress實際上會獲取所有元數據並緩存它們。後續的調用使用這些緩存數據,沒有資料庫的調用。
弄懂這些的最佳方式是閱讀函數文檔,以及使用類似 Query Monitor 的工具。
6. 不要在 SQL 查詢中使用 *
當然,這個更像 MySQL 的問題,但是我們習慣在 PHP 中編寫 SQL 代碼,所以都差不多。無論如何,如果可以避免的話,不要在SQL 查詢里使用通配符,尤其是資料庫有很多列的時候。
你應該明確指定需要哪些行,並且僅僅獲取它們。這有助於減少所用資源,保護數據,以及讓事情變得盡可能清晰。
對於 SQL,你需要了解所有可用的函數,並且盡可能測試其速度。在計算均值、求和或計算類似數值時,要使用 SQL 函數而不是PHP 函數。如果你不確定某個查詢的速度,測試它並且嘗試一些其它的編譯 — 之後使用最好的那個。
7. 不要信任用戶輸入
信任用戶輸入是不明智的。始終校驗、過濾、轉義、檢查並留好退路。用戶數據存在三個問題:我們開發者並沒有考慮每種可能性,它通常不正確,以及它可能是蓄意破壞。
經過周密考慮的系統可以防護這些威脅。要確保使用類似filter_var()的內建函數檢查適當的值,以及在處理資料庫時轉義(或預編譯)。
WordPress 擁有一些函數來解決問題。詳見文章校驗、轉義和過濾用戶數據。
8. 不要故作聰明
你的目標應該是編寫優雅的代碼,來更清晰地表達你的意圖。你可能能夠通過將任何東西縮短為一個單詞的變數,使用多層的三元邏輯,以及其它手段,從每個頁面中優化 0.01 秒。但這只會給你和你周圍的人產生大麻煩。
合理命名變數,為代碼編寫文檔,優先選擇清晰而不是簡潔。甚至還可以更好,使用標準的面向對象代碼,它本身或多或少就是文檔,不需要一大堆內聯數值。
9. 不要重新發明輪子
PHP 到現在為止有很長時間了,網站被造出來的時間更長。很可能無論你需要造出什麼,一些人之前早就造出來了。不要害怕向他人尋求支持,Github是你的好朋友,Composer也是,Packagist也是。
從日誌工具到調色工具,從性能分析器到單元測試框架,從 Mailchimp API 到 Twitter Bootstrap,每個東西都可以通過按下按鍵(或者敲下命令)來獲取,使用它們吧!
10. 不要忽略其它語言
如果你是個 PHP 程序員,現在有個好機會去至少了解 HTML、CSS、JavaScript 和 MySQL。當你能夠更好地處理這些語言時,就是重新學習 JavaScript 的時機了。JavaScript 並不是 jQuery,你應該合理地學習 JavaScript 來更高效地使用它。
我也打算向你推薦學習面向對象的 PHP,它可以節省時間,並且在代碼規模更大時會變得更好。對於類似 C# 和 Java 的語言,在你了解 OOP 之後,它們也更易於理解。
通過了解包管理器、構建腳本、CoffeeScript、LESS、SASS、YAML 、腳本引擎和其它強大的工具來擴展你的知識面。我強烈向你推薦看一看其它框架,尤其是 Laravel。
當你使用它們出色完成任務時,學習 Ruby、RoR、Android、iPhone 和 Windows Phone 應用開發如何?你可能會認為這毫無意義,因為它們在你的舒適區和工作所需范圍之外,但是這就是它們的意義。每種語言都有一些要學習的實用的東西,以及從沒碰到的新知識。所有 PHP 頂級開發者都懂得很多其它編程語言,這並非偶然。
4. phpcms v9支持php7嗎
phpcms v9作為國內主流的cms目前最新版本「9.6.0適配php5.5 php5.6 php7」(phpcms官方升級更新說明原話),所以支持php7的。
可參考其官方論壇最新更新說明。
PS:看到樓上留言的個人觀點:"對於某些惡意貶低phpcms來宣傳自己的行為我只能給你翻個白眼~"
5. 升級php7.3 linux伺服器cpu 突然很高
1、通過寶塔面板安裝的建站環境是LNMP,使用的Nginx 1.16.1、MySQL 5.5.62、PHP-7.0。2、優化PHP7.0設置。先進入到PHP7.0管理頁面。首先先安裝一個opcache緩沖器,用於加速PHP腳本,其他的就都按默認的來吧,畢竟安裝的擴展太多容易影響性能。修改max_execution_time時間為20.性能調整。這里可以根據自己伺服器配置進行設置,寶塔面板比較人性化,會根據你的伺服器配置設置推薦方案。可以根據自己伺服器內存大小進行計算,一般一個php-fpm進程佔用內存30M左右,以1024MB內存1G內存)來計算,大概可以設置34個並發。使用的就是1核1G內存配置的伺服器,安裝寶塔面板後推薦的是40並發,用不到那麼高的並發,所以設置了20並發的方案,並把max_spare_servers數字調整成了14。
6. PHP7卓越性能背後的原理有哪些
根據官方的blog來看貌似沒有什麼原理,php7做了很多性能優化,這里提升3%,那邊提升5%,但是優化的地方太多了,結果導致性能大飛躍了。
引用:一個20年來歷經了多次改版和無數次優化的成熟語言,還能有性能提高一倍的突破絕非易事,Rasmus
Lerdorf坦言,不像一般新項目多半容易找出許多改進空間,新版PHP並非修改部分程序就達到了如此的成果。反而是,透過大量細節優化和性能累加
後,PHP 7才具備了不輸HHVM的執行性能。
當然,如果你想要的答案不是這個,那我就沒辦法回答你了,比如zval的優化,這種位元組級別的精細研究不是php程序員擅長的,C或者 匯編語言開發者可能會容易理解這種變化帶來的優勢。
7. php數組拆分合並優化
explode
使用一個字元串分割另一個字元串
$str = "11,22,33";$arr = explode(",",$str);
print_r($arr);Array(
[0] => 11
[1] => 22
[2] => 33)12345678910
implode
將一個一維數組的值轉化為字元串
$arr = [11,22,33];$str = implode("#",$arr);echo $str;11#22#3312345
split
用正則表達式將字元串分割到數組中
preg_split()函數使用了Perl兼容正則表達式語法,通常是比split()更快的替代方案。如果不需要正則表達式的威力,則使用explode()更快,這樣就不會招致正則表達式引擎的浪費。
該函數在PHP7中已被廢棄
$str = "123dqaw76eqwv8902fwer12356";$arr = split("[a-z]+", $str);
print_r($arr);Array(
[0] => 123
[1] => 76
[2] => 8902
[3] => 12356)1234567891011
preg_split
通過一個正則表達式分隔字元串
如果你不需要正則表達式功能,可以有更快(並且更簡單)的選擇比如 explode() 或 str_split()。
如果沒有成功匹配,將會返回一個數組,包含了單個元素,即輸入的字元串。
$str = "123dqaw76eqwv8902fwer12356";$arr = preg_split("/[a-z]+/i", $str);
print_r($arr);Array(
[0] => 123
[1] => 76
[2] => 8902
[3] => 12356)1234567891011
str_split
將字元串轉換為數組
$str = "hello world";
print_r(str_split($str));
print_r(str_split($str, 3));Array(
[0] => h
[1] => e
[2] => l
[3] => l
[4] => o
[5] =>
[6] => w
[7] => o
[8] => r
[9] => l
[10] => d
)Array(
[0] => hel
[1] => lo
[2] => wor
[3] => ld
)
array_chunk
將一個數組分割成多個
$input_array = array('a', 'b', 'c', 'd', 'e');
print_r(array_chunk($input_array, 2));
print_r(array_chunk($input_array, 2, true));Array(
[0] => Array
(
[0] => a
[1] => b
)
[1] => Array
(
[0] => c
[1] => d
)
[2] => Array
(
[0] => e
)
)Array(
[0] => Array
(
[0] => a
[1] => b
)
[1] => Array
(
[2] => c
[3] => d
)
[2] => Array
(
[4] => e
)
)
array_combine
創建一個數組,用一個數組的值作為其鍵名,另一個數組的值作為其值
$a = array('green', 'red', 'yellow');$b = array('avocado', 'apple', 'banana');$c = array_combine($a, $b);
print_r($c);Array(
[green] => avocado
[red] => apple
[yellow] => banana
)1234567891011
array_merge
合並一個或多個數組。一個數組中的值附加在前一個數組的後面,返回作為結果的數組。
別忘了數字鍵名將會被重新編號!
$array1 = array("color" => "red", 2, 4);$array2 = array("a", "b", "color" => "green", "shape" => "trapezoid", 4);$result = array_merge($array1, $array2);
print_r($result);Array(
[color] => red
[0] => 2
[1] => 4)Array(
[0] => a
[1] => b
[color] => green
[shape] => trapezoid
[2] => 4)Array(
[color] => green
[0] => 2
[1] => 4
[2] => a
[3] => b
[shape] => trapezoid
[4] => 4)26272829
如果你想完全保留原有數組並只想新的數組附加到後面,用 + 運算符。如果兩個被合並的數組含有相同的key,則保留第一個,忽略後邊的。
$array1 = array(0 => 'zero_a', 2 => 'two_a', 3 => 'three_a');$array2 = array(1 => 'one_b', 3 => 'three_b', 4 => 'four_b');$result = $array1 + $array2;
print_r($result);Array(
[0] => zero_a
[2] => two_a
[3] => three_a
[1] => one_b
[4] => four_b
)12345678910111213
array_merge_recursive
遞歸地合並一個或多個數組
如果輸入的數組中有相同的字元串鍵名,則這些值會被合並到一個數組中去,這將遞歸下去,因此如果一個值本身是一個數組,本函數將按照相應的條目把它合並為另一個數組。然而,如果數組具有相同的數組鍵名,後一個值將不會覆蓋原來的值,而是附加到後面。
$ar1 = array("color" => array("favorite" => "red"), 5);$ar2 = array(10, "color" => array("favorite" => "green", "blue"));$result = array_merge_recursive($ar1, $ar2);
print_r($ar1);
print_r($ar2);
print_r($result);Array(
[color] => Array
(
[favorite] => red
)
[0] => 5)Array(
[0] => 10
[color] => Array
(
[favorite] => green
[0] => blue
)
)Array(
[color] => Array
(
[favorite] => Array
(
[0] => red
[1] => green
)
[0] => blue
)
[0] => 5
[1] => 10)
compact
建立一個數組,包括變數名和它們的值
對每個參數,compact() 在當前的符號表中查找該變數名並將它添加到輸出的數組中,變數名成為鍵名而變數的內容成為該鍵的值。
任何沒有變數名與之對應的字元串都被略過。
$city = "San Francisco";$state = "CA";$event = "SIGGRAPH";$location_vars = array("city", "state");$result = compact("event", "nothing_here", $location_vars);
print_r($result);Array(
[event] => SIGGRAPH
[city] => San Francisco
[state] => CA
)12345678910111213
extract
從數組中將變數導入到當前的符號表
檢查每個鍵名看是否可以作為一個合法的變數名,同時也檢查和符號表中已有的變數名的沖突。
返回成功導入到符號表中的變數數目。
$var_array = [ "color" => "blue", "size" => "medium", "shape" => "sphere"];
extract($var_array);echo "$color, $size, $shape
";
blue, medium, sphere123456789
參考
PHP手冊
8. 如何配置PHP7環境
Apache安裝
版本解釋:openssl是表示帶有openssl模塊,利用openssl就可以給Apache配置SSL安全鏈接的,也就是使用https://方式進行訪問。
nossl則表示不帶OpenSSL模塊,無法用於SSL安全鏈接,在這里我們下載帶OpenSSL的。
選擇版本:apache_2.2.14-win32-x86-openssl-0.9.8k.msi (此處以32位為例)
下載地址:http://www.apache.org/dist/httpd/binaries/win32/
首先我們在D盤(盤符根據實際情況自己選擇)新建一個目錄, 並且命名為「WAMP」其意義為「Wdindows Apache Mysql PhpMyAdmin」 之後安裝的一些內容,也都將安裝在該目錄下。
1.安裝說明:
運行apache安裝程序,方法非常簡單,彈安裝界面後一直「next」接著會出現一個界面,需要填寫3個內容,分別為:Network Domain、Server Name、Administrator』s Email Address 隨便填寫就好,不影響內容。
在下面還有2個選項,默認選擇為80埠,第二個為8080埠,根據個人需求選擇,一般為默認80埠。
我們繼續安裝,選擇Custom(自定義安裝)-「next」其中有打著紅X的組件,我們單擊這個組件容,選擇「This feature, and all subfeatures, will be installed on local hard drive.」,即「此部分,及下屬子部分內容,全部安裝在本地硬碟上」。-「next」
然後選擇右下角的「change 」改變安裝路徑,安裝到剛才建立的目錄中「D:WAMPApache」-「next」
安裝完畢後,電腦右下角會多出一個圖標,雙擊打開,選擇start或restart,能正常運行,至此安裝完畢。
2.修改配置:
打開安裝錄下D:WAMPApacheconfhttpd.conf 文件(修改配置文件時,不建議使用記事本,可能會對其造成影響,推薦使用Notepad++或其他編輯軟體打開修改)
打開以後Ctrl+F查找所要修改的內容
在#LoadMole vhost_alias_mole moles/mod_vhost_alias.so下添加:
LoadMole php5_mole 「D:/WAMP/PHP/php5apache2_2.dll」
PHPIniDir 「D:/WAMP/PHP」
AddType application/x-httpd-php .php
AddType application/x-httpd-php .htm
AddType application/x-httpd-php .html
DocumentRoot 「E:/WAMP/Apache/htdocs」
修改成(這里的路徑和IIS中wwwroot目錄一樣,用於存放網頁,自定義或不做修改默認):DocumentRoot 「D:/WAMP/www」
修改成(自定義或不做修改默認):
DirectoryIndex index.html
修改成:DirectoryIndex index.php default.php index.html index.htm default.html default.htm
3.測試
在D:/WAMP/www目錄下 建立個index.html頁面
在瀏覽器中輸入 http://localhost/
如果能正常顯示,Apache配置完畢,已經正常運行。MySql安裝
版本解釋:The Essentials Package:不包含 embedded server and benchmark suite,有自動安裝程序和配置向導,沒有MySQL Documentation。
The Complete Package:包含 embedded server and benchmark suite,有自動安裝程序和配置向導,有MySQL Documentation。
The Noinstall Archive:包含 embedded server and benchmark suite,沒有自動安裝程序和配置向導,有MySQL Documentation。
選擇版本:mysql-essential-5.1.44-win32.msi
下載地址:http://www.mysql.com/downloads/mysql/
1.安裝說明:
打開安裝程序,單擊「next」
選擇custom,組件為默認選擇,我們不做改動-「next」
路徑設置為「D:WAMPMysql」-「next」
安裝好以後點擊「finish」
跟著會出現一個配置向導-「next」
選擇「Detailed Configuration(詳細配置)」-「next」
這里有3個選項:
Developer Machine,將只用盡量少的內存;
Server Machine,將使用中等數量內存;
Dedicated MySQL Server Machine,這台伺服器上面只跑mysql資料庫,將佔用全部的內存。
可以根據自己需求選擇,這里我們選擇第二種「Server Machine」-「next」
選擇資料庫用途,同樣有3個選項:
Mutltifunctional Database多功能用途,將把資料庫優化成很好的innodb存儲類型和高效率的myisam存儲類型;
Transactional Database Only只用於事務處理類型,最好的優化innodb,但同時也支持myisam;
Non-Transactional Databse Only非事務處理類型,適合於簡單的應用,只有不支持事務的myisam類型是被支持的。
一般選擇第一種多功能的,同樣我們也是。-「next」
選擇InnodDB的數據存放位置,一般默認就行,為了統一我填寫了「WAMP/MySQL Datafiles」-「next」
選擇mysql允許的最大連接數,第一種是最大20個連接並發數,第二種是最大500個並發連接數,最後一種是自定義,自己可以根據需求選擇,我選擇第二個-「next」
下面是選擇資料庫監聽的埠,一般默認是3306,如果改成其他埠,以後連接資料庫的時候都要記住修改的埠,否則不能連接mysql資料庫,比較麻煩,這里不做修改,用mysq的默認埠:3306-「next」
這一步設置mysql的默認編碼,我們選擇第三個,並在Character Set菜單中,選擇「gbk」編碼-「next」
(註:如果要用原來資料庫的數據,最好能確定原來資料庫用的是什麼編碼,如果這里設置的編碼和原來資料庫數據的編碼不一致,在使用的時候可能會出現亂碼。)
這一步是是否要把mysql設置成windows的,一般選擇設成服務,這樣以後就可以通過服務中啟動和關閉mysql資料庫。下面的復選框也勾選上,這樣,在cmd模式下,不必非到mysql的bin目錄下執行命令。也就是把上下2個勾都打上,中間默認-「next」
這一步是設置mysql的超級用戶密碼,這個超級用戶非常重要,對mysql擁有全部的許可權,請設置好並牢記超級用戶的密碼,下面有個復選框是選擇是否允許遠程機器用root用戶連接到你的mysql伺服器上面,如果有這個需求,也請勾選。這里我們使用默認選擇,在New root password和Confirm中輸入密碼。「next」
點擊「execute」進行配置,稍微等待一會,圓點上的勾全部打上,就代表配置完畢。
2.修改配置:
打開D:WAMPMySQLmy.ini
設置datadir為D:/WAMP/MySQL/data/或你所要存放數據位置的目錄即可。PHP安裝
版本解釋:VC9 專門為IIS定值的腳本,使用Visual Studio 2008編譯器編譯,支持最新的微軟組建,從而提高效率。
VC6 是為了其他WEB服務軟體提供的腳本 如 Apache。
Thread Safe 現成安全,之星時會進行線程 安全檢查,以防止有心要求就啟動新線程(Thread)的CGI執行方式而耗盡系統資源。
Non Thread Safe是非線程安全,在執行時不進行線程(Thread)安全檢查
選擇版本:PHP5.3(5.3.1)中VC6 x86 Thread Safe下 ZIP下載
下載地址:http://windows.php.net/download/
1.安裝說明
由於我們下載的的是ZIP壓縮包,只需要將文件解壓到「D:WAMPPHP」目錄下即可
2.修改配置
將E:WAMPPHPphp.ini-development 文件修改成php.ini
打開php.ini
; extension_dir = 「ext」
修改成:extension_dir = 「E:WAMPPHPext」
將947行下,這些文件前面的「;」去除
extension=php_curl.dll
extension=php_gd2.dll
extension=php_mbstring.dll
extension=php_mysql.dll
extension=php_mysqli.dll
extension=php_pdo_mysql.dll
extension=php_xmlrpc.dll
;date.timezone =
修改成(很多網站沒提到這里要修改,默認為美國時間,如果不修改會報錯):date.timezone = Asia/Shanghai
3.測試
重啟Apache(修改過配置文件 必須重啟Apache才會生效)
新建個index.php 頁面,代碼中輸入,保存文件放到「D:WMAPwww」目錄下
打開瀏覽器輸入:http://localhost/index.php 如果能正常顯示,說明PHP配置完畢,可以查看該頁面的PHP信息是否正確。
(註:在改文件中輸入函數可輸出大量的有關PHP當前狀態的信息,如PHP版本,伺服器信息和環境等。)
(註:)
接著我們測試下,是否能連接到Mysql
再新建個link.php,下代碼中輸入
$link=mysql_connect(「127.0.0.1″,」root」,」Mysql安裝時填寫的密碼」);
if(!$link) echo 「Mysql資料庫連接失敗!」;
else echo 「Mysql資料庫連接成功!」;
mysql_close();
?>
也保存文件放到「D:WMAPwww」目錄下
打開瀏覽器輸入:http://localhost/link.php 查看PhpMyAdmin安裝
版本解釋:phpMyAdmin-3.2.5
選擇版本:phpMyAdmin-3.2.5-all-languages.zip
下載地址:http://www.phpmyadmin.net/home_page/downloads.php
1.安裝說明
解壓到D:WAMPphpMyAdmin
2.修改配置
打開D:WAMPphpMyAdminlibrariesconfig.default.php
$cfg['PmaAbsoluteUri'] = 」;
修改成(填寫訪問phpMyAdmin的絕對URL):$cfg['PmaAbsoluteUri'] = 『http://localhost/PHPMyadmin/』;
$cfg['Servers'][$i]['host'] = 『localhost』;
修改成(填寫伺服器地址,通常默認,不需要修改):$cfg['Servers'][$i]['host'] = 『localhost』;
$cfg['Servers'][$i]['user'] = 『root』;
修改成(填寫Mysql用戶名,這里我們默認):$cfg['Servers'][$i]['user'] = 『root』;
$cfg['Servers'][$i]['password'] = 」;
修改成(填寫Mysql密碼):$cfg['Servers'][$i]['password'] = 『Mysql PWD;
$cfg['Servers'][$i]['auth_type'] = 『cookie』;
修改成(設置認證方法,安全因素考慮,填寫成cookie):$cfg['Servers'][$i]['auth_type'] = 『cookie』;
$cfg['blowfish_secret'] = 」;
修改成(設置短語密碼,如果上面設置成cookie,那這里不能留空,不然登陸會提示錯誤):$cfg['blowfish_secret'] = 『cookie』;
3.測試
打開瀏覽器輸入:http://localhost/phpmyadmin/ 訪問和登陸。完成
至此Windows7下的PHP環境搭建完畢。
9. 如何選擇php的版本
您好,很高興為您解答:
開發新項目:推薦使用PHP7的版本,他是一個趨勢,也是優化後的結晶,他的效率非常高。
維護老項目:推薦使用PHP5.2的版本,非常穩定!
使用開源項目/CMS之類的:查詢源碼支持的PHP版本,一般官網都有文檔,像DeDecms推薦使用PHP5.2,WP最新版本推薦PHP7
Laravel,Thinkphp5也支持PHP7了
10. 如何徹底優化php程序降低CPU佔用
1、優化數據和邏輯和查詢。
2、改用php7,並且用嚴格模式編寫。
3、優化伺服器實現動靜分離比如把apache和iis換成nginx或nginx+apache。