查看: 813|回复: 0

[PHP实例] LNMP部署laravel与xhprof安装使用

发表于 2017-9-20 08:00:00
尚学堂AD

整个过程部署laravel与xhprof安装

前提成功安装了LNMP集成环境 (lnmp.org 即可快速安装),保证network正常运行

首先配置laravel的运行环境

1.上传代码到/home/wwwroot/default/
2.修改nginx配置文件的root以及rewrite配置

  1. #root 配置为自己的访问路径
  2. #引入pathinfo 配置,注释掉include enable-php.conf
  3. include enable-php-pathinfo.conf;
  4. #添加rewrite规则
  5. location / {
  6. if (!-e $request_filename){
  7. rewrite ^/(.*)$ /index.php/$1 last;
  8. break;
  9. }
  10. }
  11. location ~ /index.php {
  12. fastcgi_pass 127.0.0.1:9000;
  13. fastcgi_index index.php;
  14. fastcgi_param SCRIPT_FILENAME $document_root/index.php;
  15. include fastcgi_params;
  16. fastcgi_param APPLICATION_ENV dev;
  17. }
复制代码

3.修改权限

  1. #对laravel项目修改storage和vendor为777不能775
  2. $ chmod -R 777 storage vendor
复制代码

4.laravel指定的public下,需要防跨目录

  1. #LNMP 1.4上如果不想用防跨目录或者修改.user.ini的防跨目录的目录还需要将
  2. /usr/local/nginx/conf/fastcgi.conf 里面的fastcgi_param PHP_ADMIN_VALUE "open_basedir=$document_root/:/tmp/:/proc/";
  3. 在该行行前添加 # 或删除改行,需要重启nginx。
复制代码

5.数据库操作(可省略根据自己情况操作数据)

  1. #赋予外部所有权限
  2. GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'root' WITH GRANT OPTION;
  3. #然后写入数据库等信息
复制代码

安装配置xhprof

1.下载安装xhprof

  1. $ cd /home/wwwroot/default
  2. $ wget http://pecl.php.net/get/xhprof-0.9.4.tgz
  3. $ tar -zxvf xhprof-0.9.4.tgz xhprof
  4. $ mv xhprof-0.9.4 xhprof
  5. $ cd xhprof
  6. $ cd extension/
  7. $ phpize
  8. $ ./configure --with-php-config=/usr/local/php/bin/php-config --enable-xhprof #更近自己的php安装来配置
  9. $ make
  10. $ sudo make install
复制代码

2.修改php.ini

  1. #添加到最后
  2. [xhprof]
  3. extension=xhprof.so
  4. xhprof.output_dir=/tmp/xhprof
  5. #在tmp下新建xhprof,同时赋予读写权限
  6. $ cd /tmp && mkdir xhprof
  7. $ chmod -R 777 xhprof
复制代码

3.安装 graphviz

  1. $ cd && yum -y install graphviz
复制代码

4.添加一个vhost(举个栗子:www.xhproftest.com)

  1. #更近个人情况配置如不知道,https://lnmp.org/faq/lnmp-vhost-add-howto.html#user.ini教程安装
  2. $ lnmp vhost add
  3. #修改/usr/local/nginx/conf/vhost/www.xhproftest.com.conf配置文件,将nginx.conf的server复制修改端口好以及访问路径和server_name。
  4. #重启启动Nginx
复制代码

laravel项目中配置xhprof

  1. #启动 xhprof 性能分析器
  2. xhprof_enable(XHPROF_FLAGS_NO_BUILTINS | XHPROF_FLAGS_CPU | XHPROF_FLAGS_MEMORY);
  3. #需要测试的内容
  4. foo();
  5. #停止 xhprof 性能分析器
  6. $xhprofData = xhprof_disable();
  7. #根据自己安装的xhprof写require的路径
  8. require '/home/wwwroot/xhprof/xhprof_lib/utils/xhprof_lib.php';
  9. require '/home/wwwroot/xhprof/xhprof_lib/utils/xhprof_runs.php';
  10. $xhprofRuns = new XHProfRuns_Default();
  11. $runId = $xhprofRuns->save_run($xhprofData, 'xhprof_test');
  12. echo 'http://localhost/xhprof/xhprof_html/index.php?run=' . $runId . '&source=xhprof_test';
复制代码


回复

使用道具 举报