整个过程部署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';