本文目錄一覽:
- 1、php7調試怎麼在phpstorm中設置
- 2、php7與php5的區別
- 3、php寫的程序,進行性能測試,各項資源都正常,增加並發,tps不增長,響應時間增長,您覺得瓶頸在哪?
- 4、鳥哥:讓php7達到最高性能的幾個tips
php7調試怎麼在phpstorm中設置
在max上用phpstorm里debug調試php
背景
最近為了完成某個需求,在看`smarty`源碼,當我嘗試直接看,痛苦的快吐血,工欲善其事必先利器,雖然之前一直使用phpstorm調試nodejs,但是還沒有用phpstorm來debug過php。
建議
先看看這個:PhpStorm 8.0.2 Help :: Configuring Xdebug
## 安裝xdebug
1. 打開:Xdebug: Downloads 點擊source來下載源碼包
2. 然後安裝
“`bash
解壓tar包
tar -xzf xdebug-2.2.5.tgz
進入根目錄
cd xdebug-2.2.5
執行phpize
phpize
編譯安裝xdebug
./configure –enable-xdebug
make
make install
“`
配置到php
1. 打開php.ini文件
“`bash
cd /private/etc/
#默認沒有php.ini,需要拷貝一下
sudo cp php.ini.default php.ini
sudo vi php.ini
“`
2. 在下面加入
“`bash
[Xdebug]
zend_extension=”/usr/local/php_user/xdebug.so”
xdebug.remote_enable = on
;xdebug.remote_handler=dbgp
xdebug.remote_host=”127.0.0.1″
xdebug.remote_port=9000
xdebug.profiler_enable = 1
xdebug.profiler_enable_trigger = off
xdebug.profiler_output_name = cachegrind.out.%t.%p
xdebug.remote_autostart = on
“`
3. 重啟`apache`
“`bash
sudo apachectl restart
“`
4. 查看phpinfo()信息裡面搜索一下`debug`如果有,成功。
配置phpstorm
1. 打開phpstorm,進入頂部導航`phpstrom-perferences..`
2. 點擊`php`項,點擊`interpreter`後面的`…`按鈕
3. 點擊`php home`後面的刷新(`…`後面)按鈕
4. 這時候你將看到`Debugger: Not installed`變成`Xdebug 2.3.2`(版本號可能不同)
6. 進入`php`欄目下的`Server`,點擊`+`新建一個server:host填寫你本地的host(如127.0.0.1),點擊`apply`保存,並退出`perferences`對話框。
7. 點擊頂部導航`run`-點擊`+`-選擇`PHP Web Application`-選擇上一步新建的`server`,`start URL`填入,你要debug的php文件地址,下面會生成一個地址,這個地址在瀏覽器應該能正常瀏覽測試的;點擊`apply`進行保存。
開始愉快的使用
1. 在你要debug的文件行數字右側一列,點擊一下就會有一個斷點。
2. 點擊頂部導航`run`-debug,選擇你剛剛新建的`debug`名稱,這時候會彈出瀏覽器載入這個php文件了
php7與php5的區別
php5與php7之間的區別:
1、性能提升:PHP7比PHP5.0性能提升了兩倍。
2、以前的許多致命錯誤,現在改成拋出異常。
3、PHP 7.0比PHP5.0移除了一些老的不在支持的SAPI(伺服器端應用編程埠)和擴展。
4、PHP 7.0比PHP5.0新增了空接合操作符。
5、PHP 7.0比PHP5.0新增加了結合比較運算符。
6、PHP 7.0比PHP5.0新增加了函數的返回類型聲明。
7、PHP 7.0比PHP5.0新增加了標量類型聲明。
8、PHP 7.0比PHP5.0新增加匿名類。
9、錯誤處理和64位支持
php寫的程序,進行性能測試,各項資源都正常,增加並發,tps不增長,響應時間增長,您覺得瓶頸在哪?
問題沒說清楚,也不好下定論啊,如果性能測試就壓100個用戶,在沒達到瓶頸的情況,各項指標應該都是平穩的,波動起伏不會太大,只有慢慢增加用戶,才會知道瓶頸所在隨著用戶的增加,下面各值會跟隨增加吞吐量,CPU,點擊率。。。等事務響應時間(這個系統一般沒達到極限是不變的)當事務響應時間開始明顯變長,說明系統達到了極限可以是CPU極限,可能是點擊率極限,可能是網路極限。。。你繼續增加用戶了,響應時間變長,吞吐量點擊開始明顯下降,說明就到瓶頸了,然後在看是什麼地方的瓶頸如果單一的吞吐量上不去,也可能是用戶訪問不多,吞吐量當然上不去
鳥哥:讓php7達到最高性能的幾個tips
1. Opcache
記得啟用Zend Opcache, 因為PHP7即使不啟用Opcache速度也比PHP-5.6啟用了Opcache快, 所以之前測試時期就發生了有人一直沒有啟用Opcache的事情. 啟用Opcache非常簡單, 在php.ini配置文件中加入:
zend_extension=opcache.so
opcache.enable=1
opcache.enable_cli=1″
2. 使用新的編譯器
使用新一點的編譯器, 推薦GCC 4.8以上, 因為只有GCC 4.8以上PHP才會開啟Global Register for opline and execute_data支持, 這個會帶來5%左右的性能提升(Wordpres的QPS角度衡量)
其實GCC 4.8以前的版本也支持, 但是我們發現它支持的有Bug, 所以必須是4.8以上的版本才會開啟這個特性.
3. HugePage
前面文章介紹過
4. Opcache file cache
開啟Opcache File Cache(實驗性), 通過開啟這個, 我們可以讓Opcache把opcode緩存緩存到外部文件中, 對於一些腳本, 會有很明顯的性能提升.
在php.ini中加入:
opcache.file_cache=/tmp
這樣PHP就會在/tmp目錄下Cache一些Opcode的二進位導出文件, 可以跨PHP生命周期存在.
5. PGO
如果你的PHP是專門為一個項目服務, 比如只是為你的Wordpress, 或者drupal, 或者其他什麼, 那麼你就可以嘗試通過PGO, 來提升PHP, 專門為你的這個項目提高性能.
具體的, 以wordpress 4.1為優化場景.. 首先在編譯PHP的時候首先:
$ make prof-gen
然後用你的項目訓練PHP, 比如對於Wordpress:
$ sapi/cgi/php-cgi -T 100 /home/zk/local/www/htdocs/ wordpress/index.php /dev/null
也就是讓php-cgi跑100遍wordpress的首頁, 從而生成一些在這個過程中的profile信息.
最後:
$ make prof-clean$ make prof-use make install
這個時候你編譯得到的PHP7就是為你的項目量身打造的最高性能的編譯版本.
原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-tw/n/187912.html