整個過程部署laravel與xhprof安裝
前提成功安裝了LNMP整合環境 (lnmp.org 即可快速安裝),保證network正常執行
首先配置laravel的執行環境
1.上傳程式碼到/home/wwwroot/default/
2.修改nginx配置檔案的root以及rewrite配置
#root 配置為自己的訪問路徑
#引入pathinfo 配置,註釋掉include enable-php.conf
include enable-php-pathinfo.conf;
#新增rewrite規則
location / {
if (!-e $request_filename){
rewrite ^/(.*)$ /index.php/$1 last;
break;
}
}
location ~ /index.php {
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root/index.php;
include fastcgi_params;
fastcgi_param APPLICATION_ENV dev;
}
3.修改許可權
#對laravel專案修改storage和vendor為777不能775
$ chmod -R 777 storage vendor
4.laravel指定的public下,需要防跨目錄
#LNMP 1.4上如果不想用防跨目錄或者修改.user.ini的防跨目錄的目錄還需要將
/usr/local/nginx/conf/fastcgi.conf 裡面的fastcgi_param PHP_ADMIN_VALUE "open_basedir=$document_root/:/tmp/:/proc/";
在該行行前新增 # 或刪除改行,需要重啟nginx。
5.資料庫操作(可省略根據自己情況運算元據)
#賦予外部所有許可權
GRANT ALL PRIVILEGES ON *.* TO `root`@`%` IDENTIFIED BY `root` WITH GRANT OPTION;
#然後寫入資料庫等資訊
安裝配置xhprof
1.下載安裝xhprof
$ cd /home/wwwroot/default
$ wget http://pecl.php.net/get/xhprof-0.9.4.tgz
$ tar -zxvf xhprof-0.9.4.tgz xhprof
$ mv xhprof-0.9.4 xhprof
$ cd xhprof
$ cd extension/
$ phpize
$ ./configure --with-php-config=/usr/local/php/bin/php-config --enable-xhprof #更近自己的php安裝來配置
$ make
$ sudo make install
2.修改php.ini
#新增到最後
[xhprof]
extension=xhprof.so
xhprof.output_dir=/tmp/xhprof
#在tmp下新建xhprof,同時賦予讀寫許可權
$ cd /tmp && mkdir xhprof
$ chmod -R 777 xhprof
3.安裝 graphviz
$ cd && yum -y install graphviz
4.新增一個vhost(舉個例子:www.xhproftest.com)
#更近個人情況配置如不知道,https://lnmp.org/faq/lnmp-vhost-add-howto.html#user.ini教程安裝
$ lnmp vhost add
#修改/usr/local/nginx/conf/vhost/www.xhproftest.com.conf配置檔案,將nginx.conf的server複製修改埠好以及訪問路徑和server_name。
#重啟啟動Nginx
laravel專案中配置xhprof
#啟動 xhprof 效能分析器
xhprof_enable(XHPROF_FLAGS_NO_BUILTINS | XHPROF_FLAGS_CPU | XHPROF_FLAGS_MEMORY);
#需要測試的內容
foo();
#停止 xhprof 效能分析器
$xhprofData = xhprof_disable();
#根據自己安裝的xhprof寫require的路徑
require `/home/wwwroot/xhprof/xhprof_lib/utils/xhprof_lib.php`;
require `/home/wwwroot/xhprof/xhprof_lib/utils/xhprof_runs.php`;
$xhprofRuns = new XHProfRuns_Default();
$runId = $xhprofRuns->save_run($xhprofData, `xhprof_test`);
echo `http://localhost/xhprof/xhprof_html/index.php?run=` . $runId . `&source=xhprof_test`;