精华内容
下载资源
问答
  • Laravel 多环境配置

    2019-06-06 13:14:00
    <?php namespace App\Http\Bootstrap... use Symfony\Component\Finder\Finder; use Symfony\Component\Finder\SplFileInfo;...use Illuminate\Contracts\Foundation\Application;...use Illuminate\Contracts\Config...
    <?php
    
    namespace App\Http\Bootstrap;
    
    use Symfony\Component\Finder\Finder;
    use Symfony\Component\Finder\SplFileInfo;
    use Illuminate\Contracts\Foundation\Application;
    use Illuminate\Contracts\Config\Repository as RepositoryContract;
    
    class LoadSiteConfiguration
    {
        /**
         * Bootstrap the given application.
         *
         * @param  \Illuminate\Contracts\Foundation\Application  $app
         * @return void
         */
        public function bootstrap(Application $app)
        {
            // First we will see if we have a cache configuration file. If we do, we'll load
            // the configuration items from that file so that it is very quick. Otherwise
            // we will need to spin through every configuration file and load them all.
            if (file_exists($cached = $app->getCachedConfigPath())) {
                return;
            }
    
            // Next we will spin through all of the configuration files in the configuration
            // directory and load each one into the repository. This will make all of the
            // options available to the developer for use in various parts of this app.
            $config = app('config');
            if (! isset($loadedFromCache) && env('APP_ENV') != 'production') {
                $this->loadConfigurationFiles($app, $config);
            }
        }
    
        /**
         * Load the configuration items from all of the files.
         *
         * @param  \Illuminate\Contracts\Foundation\Application  $app
         * @param  \Illuminate\Contracts\Config\Repository  $config
         * @return void
         */
        protected function loadConfigurationFiles(Application $app, RepositoryContract $config)
        {
            $siteConfig = [];
            foreach ($this->getConfigurationFiles($app) as $key => $path) {
                array_set($siteConfig, $key, require $path);
            }
    
            $siteConfig = array_dot($siteConfig);
            foreach ($siteConfig as $key => $value) {
                $config->set($key, $value);
            }
        }
    
        /**
         * Get all of the configuration files for the application.
         *
         * @param  \Illuminate\Contracts\Foundation\Application  $app
         * @return array
         */
        protected function getConfigurationFiles(Application $app)
        {
            $files = [];
            $env = env('APP_ENV', 'production');
            $configPath = realpath($app->configPath());
    
            if ($env != 'production') {
                $configPath  = $configPath.DIRECTORY_SEPARATOR . $env;
            }
    
            if (!is_dir($configPath)) {
                return [];
            }
    
            foreach (Finder::create()->files()->name('*.php')->in($configPath) as $file) {
                $nesting = $this->getConfigurationNesting($file, $configPath);
    
                $files[$nesting.basename($file->getRealPath(), '.php')] = $file->getRealPath();
            }
    
            return $files;
        }
    
        /**
         * Get the configuration file nesting path.
         *
         * @param  \Symfony\Component\Finder\SplFileInfo  $file
         * @param  string  $configPath
         * @return string
         */
        protected function getConfigurationNesting(SplFileInfo $file, $configPath)
        {
            $directory = dirname($file->getRealPath());
    
            if ($tree = trim(str_replace($configPath, '', $directory), DIRECTORY_SEPARATOR)) {
                $tree = str_replace(DIRECTORY_SEPARATOR, '.', $tree).'.';
            }
    
            return $tree;
        }
    }
    
    
    	
        /**
    	 * App\Http\Kernel
         * @return array
         */
        protected function bootstrappers()
        {
            $bootstrappers   = parent::bootstrappers();
            $bootstrappers[] = LoadSiteConfiguration::class;
            return $bootstrappers;
        }
    }
    
    
    展开全文
  • 项目开发中,通常会有以下环境 local (本机) dev (开发环境) -> for 其他开发人员用,如 iOS,Android,Web testing (QA 环境) staging (仿真环境) product (线上环境) ... 不同环境配置文件如下: .en...

    项目开发中,通常会有以下环境

    • local (本机)
    • dev (开发环境) -> for 其他开发人员用,如 iOS,Android,Web
    • testing (QA 环境)
    • staging (仿真环境)
    • product (线上环境)

    这些环境的配置通常都不尽相同,Laravel 可以通过环境变量 APP_ENV 的值来加载不同的 .env 配置文件。 不同环境配置文件如下:

    • .env.local
    • .env.dev
    • .env.testing
    • .env.staging
    • .env.product

    在 App Server 上修改 Nginx 配置文件,设置 APP_ENV:

     
    1. location = /index.php {

    2. index index.php;

    3. try_files $uri =404;

    4. fastcgi_pass 127.0.0.1:9000;

    5. include fastcgi_params;

    6. fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;

    7. fastcgi_param SCRIPT_NAME $fastcgi_script_name;

    8. fastcgi_param APP_ENV local;

    9. }

    10.  

    重启 Nginx 和 PHP-FPM 服务,Laravel 框架就会自动选择加载项目根目录下的 .env.local 配置文件,而不会去加载 .env 配置文件了。

    ~ the end ~

    转载于:https://my.oschina.net/u/2345224/blog/913357

    展开全文
  • 根据不同的环境有不同的配置laravel中,可以把配置写到.env文件中 在系统中,可以使用env(key, "默认值")来获取env中的配置信息 在laravel中运行时,会运行函数 checkForSpecificEnvironmentFile,根据不同的...

    根据不同的环境有不同的配置,laravel中,可以把配置写到.env文件中

    在系统中,可以使用env(key, "默认值")来获取env中的配置信息

     

    在laravel中运行时,会运行函数  checkForSpecificEnvironmentFile, 根据不同的环境加载不同的配置。

    Illuminate\Foundation\Bootstrap\DetectEnvironment
    protected function checkForSpecificEnvironmentFile($app)
        {
            if (! env('APP_ENV')) {
                return;
            }
    
            $file = $app->environmentFile().'.'.env('APP_ENV');
    
            if (file_exists($app->environmentPath().'/'.$file)) {
                $app->loadEnvironmentFrom($file);
            }
        }

    先判断$_SERVER['APP_ENV']是否存在,存在的话,就根据环境变量加载后缀是环境变量的文件

    .env.local

    .env.testing

    .env.production

    转载于:https://www.cnblogs.com/hanyouchun/p/5341551.html

    展开全文
  • 01_Laravel开发环境配置与要求 Laravel简介 Laravel是一套简洁,优雅的PHPWeb开发框架。具有富于表达性且简洁的语法,它可以让你从面条一样杂乱的代码中解脱出来;它可以帮你构建一个完美的网络APP,而且每行代码都...

    01_Laravel开发环境配置与要求

    Laravel简介

    Laravel是一套简洁,优雅的PHPWeb开发框架。具有富于表达性且简洁的语法,它可以让你从面条一样杂乱的代码中解脱出来;它可以帮你构建一个完美的网络APP,而且每行代码都可以简洁、富于表达力。它提供了强大的工具用以开发大型,健壮的应用。具有验证、路由、Session、缓存、数据库迁移工具、单元测试等常用的工具和功能。
    Laravel框架诞生于2011年6月11日。

    开发环境配置与要求

    • php.ini配置文件需要开启的扩展:

      1. extension=php_openssl.dll
      2. extension=php_pdo_mysql.dll
      3. extension=php_mbstring.dll
    • httpd.conf配置文件需要开启的模块:

      1. LoadModule deflate_module modules/mod_deflate.so
      2. LoadModule rewrite_module modules/mod_rewrite.so

    注意事项

    1. 安装好PHP后,需要配置环境变量。
      1. 找到PHP安装路径

      2. “我的电脑”右键属性打开 -> 高级系统设置 -> 环境变量 -> 系统变量找到Path -> 编辑 -> 添加即可。

      3. 配置完成后,打开CMD输入php -v,出现下面信息,则成功。
        在这里插入图片描述

    安装composer

    下载地址:https://getcomposer.org/
    安装的最后一步,Use a paroxy server to connect to internet,这一步的时候,建议不要勾选和填写,直接Next下一步即可。

    使用composer的前提条件

    1. 需要开启PHP中的openssl扩展
    2. 安装composer需要联网

    完成安装后,进入CMD,输入composer,若出现下图提示,则安装完成。
    提示:若确定已经完成了安装,但是却没有下图提示的界面,则可能是环境变量的问题,自己配置一下composer的环境变量,配置方式与PHP一致。

    在这里插入图片描述

    友情提示:ProgramData在C盘下,是隐藏文件,需要自行开启显示隐藏文件才可以看到。
    在这里插入图片描述

    使用composer部署Laravel项目

    1. 切换镜像为国内镜像
      地址:https://pkg.phpcomposer.com/
      修改composer全局配置文件,CMD中运行下列命令.

      composer config -g repo.packagist composer https://packagist.phpcomposer.com
      【这个】composer config -g repo.packagist composer https://mirrors.aliyun.com/composer/

    2. 部署Laravel项目

      composer create-project laravel/laravel=5.6.* --prefer-dist ./
      命令解释:
      create-project:创建项目
      laravel/laravel=5.6.* 创建名称和版本号
      –prefer-dist 以压缩的方式下载
      最后一个./你可以直接写成你项目的存放的绝对路径。

    展开全文
  • Laravel开发环境配置

    2018-12-26 18:34:41
    环境依赖:nginx php php-fpm mysql redis3.安装教程: 安装Ubuntu操作系统 安装mysql和redis: mysql安装 | redis安装 安装nginx: nginx安装 因为php依赖上面的服务,所有最后安装php(自带php-fpm): php安装 php...
  • 注意,这里需要将 ~/.composer/vendor/bin 路径放置于您的环境变量中,才能保证laravel可执行文件被找到。安装后就可以直接使用laravel命令安装项目。 3 安装项目,进入一个文件夹 composer c...
  • 注意使用sudo 获取root权限 $ sudo vi ~/.bash_profile 进入编辑页面:添加下面命令 export PATH=$PATH:~/.composer/vendor/bin ...这个时候就可以使用laravel 命令了 $ laravel new blog ...
  • php laravel 开发环境配置

    千次阅读 2017-02-08 16:59:54
    安装一,安装composercd ~/bin ...chmod +x composer.ph执行composer 提示相关命令行即安装成功 二,安装laravel 执行 composer global require "laravel/installer=~1.1" 会在本地目录生成一个 ~/.co
  • 2、开发环境配置与要求 Laravel框架的运行对环境是有严格要求的。 php.ini配置文件需要开启的扩展: extension=php_openssl.dll extension=php_pdo_mysql.dll extension=php_mbstring.dll extension=...
  • composer安装和laravel本地环境配置(十分钟左右) 1.安装composer (1)需要安装php(以phpstudy集成开发环境为例) 桌面找到phpstudey 图标,鼠标右击 ->选择 ‘文件所在的位置’-> 按下back(<----)键 ...
  • Cmder /REGISTER ALL
  • laravel有个环境配置选项很好用,在bootstrap/start.php中,曾经百度到这里面加入域名,就可以自动选择环境 $env = $app->detectEnvironment(array( 'development' => array('localhost'), 'pr...
  • 主要介绍了Laravel框架环境与配置操作,结合实例形式分析了laravel框架基本环境配置方法及维护模式相关操作技巧,需要的朋友可以参考下
  • Laravel 5.4 多环境配置

    2019-09-16 03:35:15
    项目开发中,通常会有以下环境 local (本机) dev (开发环境) -> for 其他开发人员用,如 iOS,Android,Web testing (QA 环境) staging (仿真环境) ...这些环境配置通常都不尽相同,Laravel ...
  • Laravel 4中,您可以设置基于环境配置文件夹结构:/config/app.php/config/dev/app.php/config/staging/app.php/config/testing/app.php您可以使用Laravel 5做到这一点吗?我了解.env概念,并用它来定义我所处的...
  • Laravel环境配置

    2021-04-24 19:19:43
    安装 phpStudy 环境栏中安装php php环境安装成功后在phpStudy目录下找到php的安装目录,选择相应的版本后粘贴目录到环境变量下,保存重启电脑 ...保存后重启电脑,cmd中查看php...创建并运行新的 laravel项目 ...
  • laravel环境配置

    2016-11-08 15:11:05
    laravel包:http://www.golaravel.com/download/ 编辑器:phpstorm(自己下载) 激活码: Learn Programming ===== LICENSE BEGIN ===== 63758-12042010 00000Ryqh0NCC73lpRm!XVcxFChJ2g TUR2lZtlLXrPLbQ66Gs...
  • laravel中数据库配置I hope, after reading the project structure of Laravel project, you will understand the concept of why we use the Laravel framework, it's installation and It's important directories...
  • laravel 环境配置

    2017-07-08 00:08:00
     ,默认会自动将 laravel 命令行加入到环境变量(如果laravel -v在命令行不能执行则手动添加环境变量 ~ / .composer /vendor /bin  路径加到 PATH) 添加环境变量方法:找到composer 安装目录将路径添加到path,...
  • Laravel PHP 开发环境配置

    万次阅读 2015-12-08 10:51:23
    Laravel配置教程 1.XAMPP集成开发环境 Laravel是一个PHP开发框架,用Laravel框架开发的网站需要运行于有PHP+数据库+web服务器的操作系统上。一般要求PHP版本5.4+,MySQL5.1+。本文选择PHP+MySQL数据库+Apache ...
  • laravel 多环境部署

    千次阅读 2018-01-13 18:54:11
    转载地址 ...不同环境加载自己的.env.文件 这里面的.env.

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 9,310
精华内容 3,724
关键字:

laravel多环境配置