search
HomePHP FrameworkLaravelLNMP deployment laravel and xhprof installation and use

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

(推荐学习:laravel开发

The above is the detailed content of LNMP deployment laravel and xhprof installation and use. For more information, please follow other related articles on the PHP Chinese website!

Statement
This article is reproduced at:segmentfault. If there is any infringement, please contact admin@php.cn delete
Using Laravel Blade for Frontend Templating in Full-Stack ProjectsUsing Laravel Blade for Frontend Templating in Full-Stack ProjectsMay 01, 2025 am 12:24 AM

LaravelBladeenhancesfrontendtemplatinginfull-stackprojectsbyofferingcleansyntaxandpowerfulfeatures.1)Itallowsforeasyvariabledisplayandcontrolstructures.2)Bladesupportscreatingandreusingcomponents,aidinginmanagingcomplexUIs.3)Itefficientlyhandleslayou

Building a Full-Stack Application with Laravel: A Practical TutorialBuilding a Full-Stack Application with Laravel: A Practical TutorialMay 01, 2025 am 12:23 AM

Laravelisidealforfull-stackapplicationsduetoitselegantsyntax,comprehensiveecosystem,andpowerfulfeatures.1)UseEloquentORMforintuitivebackenddatamanipulation,butavoidN 1queryissues.2)EmployBladetemplatingforcleanfrontendviews,beingcautiousofoverusing@i

What kind of tools did you use for the remote role to stay connected?What kind of tools did you use for the remote role to stay connected?May 01, 2025 am 12:21 AM

Forremotework,IuseZoomforvideocalls,Slackformessaging,Trelloforprojectmanagement,andGitHubforcodecollaboration.1)Zoomisreliableforlargemeetingsbuthastimelimitsonthefreeversion.2)Slackintegrateswellwithothertoolsbutcanleadtonotificationoverload.3)Trel

Remote Access and Screen Sharing: Bridging the Distance for Technical SupportRemote Access and Screen Sharing: Bridging the Distance for Technical SupportMay 01, 2025 am 12:07 AM

Remoteaccessandscreensharingworkbyestablishingasecure,real-timeconnectionbetweencomputersusingprotocolslikeRDP,VNC,orproprietarysolutions.Bestpracticesinclude:1)Buildingtrustthroughclearcommunication,2)Ensuringsecuritywithstrongencryptionandup-to-dat

Is it worth upgrading to the latest Laravel version?Is it worth upgrading to the latest Laravel version?May 01, 2025 am 12:02 AM

Definitely worth considering upgrading to the latest Laravel version. 1) New features and improvements, such as anonymous migration, improve development efficiency and code quality. 2) Security improvement, and known vulnerabilities have been fixed. 3) Community support has been enhanced, providing more resources. 4) Compatibility needs to be evaluated to ensure smooth upgrades.

Laravel logs and error monitoring: Sentry and Bugsnag integrationLaravel logs and error monitoring: Sentry and Bugsnag integrationApr 30, 2025 pm 02:39 PM

Integrating Sentry and Bugsnag in Laravel can improve application stability and performance. 1. Add SentrySDK in composer.json. 2. Add Sentry service provider in config/app.php. 3. Configure SentryDSN in the .env file. 4. Add Sentry error report in App\Exceptions\Handler.php. 5. Use Sentry to catch and report exceptions and add additional context information. 6. Add Bugsnag error report in App\Exceptions\Handler.php. 7. Use Bugsnag monitoring

Why is Laravel still the preferred framework for PHP developers?Why is Laravel still the preferred framework for PHP developers?Apr 30, 2025 pm 02:36 PM

Laravel remains the preferred framework for PHP developers as it excels in development experience, community support and ecosystem. 1) Its elegant syntax and rich feature set, such as EloquentORM and Blade template engines, improve development efficiency and code readability. 2) The huge community provides rich resources and support. 3) Although the learning curve is steep and may lead to increased project complexity, Laravel can significantly improve application performance through reasonable configuration and optimization.

Laravel Live Chat Application: WebSocket and PusherLaravel Live Chat Application: WebSocket and PusherApr 30, 2025 pm 02:33 PM

Building a live chat application in Laravel requires using WebSocket and Pusher. The specific steps include: 1) Configure Pusher information in the .env file; 2) Set the broadcasting driver in the broadcasting.php file to Pusher; 3) Subscribe to the Pusher channel and listen to events using LaravelEcho; 4) Send messages through Pusher API; 5) Implement private channel and user authentication; 6) Perform performance optimization and debugging.

See all articles

Hot AI Tools

Undresser.AI Undress

Undresser.AI Undress

AI-powered app for creating realistic nude photos

AI Clothes Remover

AI Clothes Remover

Online AI tool for removing clothes from photos.

Undress AI Tool

Undress AI Tool

Undress images for free

Clothoff.io

Clothoff.io

AI clothes remover

Video Face Swap

Video Face Swap

Swap faces in any video effortlessly with our completely free AI face swap tool!

Hot Tools

WebStorm Mac version

WebStorm Mac version

Useful JavaScript development tools

Dreamweaver Mac version

Dreamweaver Mac version

Visual web development tools

ZendStudio 13.5.1 Mac

ZendStudio 13.5.1 Mac

Powerful PHP integrated development environment

PhpStorm Mac version

PhpStorm Mac version

The latest (2018.2.1) professional PHP integrated development tool

EditPlus Chinese cracked version

EditPlus Chinese cracked version

Small size, syntax highlighting, does not support code prompt function