zoukankan      html  css  js  c++  java
  • Laravel Deploy to Heroku

    参考 https://devcenter.heroku.com/articles/getting-started-with-laravel

    即可

    注意的是,

    在使用pgsql的时候,

    database.php配置default 一定要修改mysql为pgsql 默认值 即使.env配置设置了pgsql也会报异常,

    其余的参考:


    <?php
    
    use IlluminateSupportStr;
    
    $DATABASE_URL =
        parse_url("postgres://*****.compute.amazonaws.com:5432/******");
    
    return [
        /*
        |--------------------------------------------------------------------------
        | Default Database Connection Name
        |--------------------------------------------------------------------------
        |
        | Here you may specify which of the database connections below you wish
        | to use as your default connection for all database work. Of course
        | you may use many connections at once using the Database library.
        |
        */
    
    //    'default' => env('DB_CONNECTION', 'mysql'),
        'default' => env('DB_CONNECTION', 'pgsql'),
    
        /*
        |--------------------------------------------------------------------------
        | Database Connections
        |--------------------------------------------------------------------------
        |
        | Here are each of the database connections setup for your application.
        | Of course, examples of configuring each database platform that is
        | supported by Laravel is shown below to make development simple.
        |
        |
        | All database work in Laravel is done through the PHP PDO facilities
        | so make sure you have the driver for your particular database of
        | choice installed on your machine before you begin development.
        |
        */
    
        'connections' => [
    
            'sqlite' => [
                'driver' => 'sqlite',
                'url' => env('DATABASE_URL'),
                'database' => env('DB_DATABASE', database_path('database.sqlite')),
                'prefix' => '',
                'foreign_key_constraints' => env('DB_FOREIGN_KEYS', true),
            ],
    
            'mysql' => [
                'driver' => 'mysql',
                'url' => env('DATABASE_URL'),
                'host' => env('DB_HOST', '127.0.0.1'),
                'port' => env('DB_PORT', '3306'),
                'database' => env('DB_DATABASE', 'forge'),
                'username' => env('DB_USERNAME', 'forge'),
                'password' => env('DB_PASSWORD', ''),
                'unix_socket' => env('DB_SOCKET', ''),
                'charset' => 'utf8mb4',
                'collation' => 'utf8mb4_unicode_ci',
                'prefix' => '',
                'prefix_indexes' => true,
                'strict' => true,
                'engine' => null,
                'options' => extension_loaded('pdo_mysql') ? array_filter([
                    PDO::MYSQL_ATTR_SSL_CA => env('MYSQL_ATTR_SSL_CA'),
                ]) : [],
            ],
    
            'pgsql' => [
                'driver' => 'pgsql',
                'url' => "postgres://****.compute.amazonaws.com:5432/*****",
                'host' => $DATABASE_URL["host"],
                'port' => $DATABASE_URL["port"],
                'charset' => 'utf8',
                'client_encoding' => 'utf8',
                'prefix' => '',
                'prefix_indexes' => true,
                'schema' => 'public',
                'sslmode' => 'require',
                'database' => ltrim($DATABASE_URL["path"], "/"),
                'username' => $DATABASE_URL["user"],
                'password' => $DATABASE_URL["pass"],
    //            'url' => env('DATABASE_URL'),
    //            'host' => env('DB_HOST', '127.0.0.1'),
    //            'port' => env('DB_PORT', '5432'),
    //            'database' => env('DB_DATABASE', 'forge'),
    //            'username' => env('DB_USERNAME', 'forge'),
    //            'password' => env('DB_PASSWORD', ''),
    //            'sslmode' => 'prefer',
    //            'charset' => 'utf8',
    //            'prefix' => '',
    //            'prefix_indexes' => true,
    //            'schema' => 'public',
    
            ],
    
            'sqlsrv' => [
                'driver' => 'sqlsrv',
                'url' => env('DATABASE_URL'),
                'host' => env('DB_HOST', 'localhost'),
                'port' => env('DB_PORT', '1433'),
                'database' => env('DB_DATABASE', 'forge'),
                'username' => env('DB_USERNAME', 'forge'),
                'password' => env('DB_PASSWORD', ''),
                'charset' => 'utf8',
                'prefix' => '',
                'prefix_indexes' => true,
            ],
    
        ],
    
        /*
        |--------------------------------------------------------------------------
        | Migration Repository Table
        |--------------------------------------------------------------------------
        |
        | This table keeps track of all the migrations that have already run for
        | your application. Using this information, we can determine which of
        | the migrations on disk haven't actually been run in the database.
        |
        */
    
        'migrations' => 'migrations',
    
        /*
        |--------------------------------------------------------------------------
        | Redis Databases
        |--------------------------------------------------------------------------
        |
        | Redis is an open source, fast, and advanced key-value store that also
        | provides a richer body of commands than a typical key-value system
        | such as APC or Memcached. Laravel makes it easy to dig right in.
        |
        */
    
        'redis' => [
    
            'client' => env('REDIS_CLIENT', 'phpredis'),
    
            'options' => [
                'cluster' => env('REDIS_CLUSTER', 'redis'),
                'prefix' => env('REDIS_PREFIX', Str::slug(env('APP_NAME', 'laravel'), '_') . '_database_'),
            ],
    
            'default' => [
                'url' => env('REDIS_URL'),
                'host' => env('REDIS_HOST', '127.0.0.1'),
                'password' => env('REDIS_PASSWORD', null),
                'port' => env('REDIS_PORT', '6379'),
                'database' => env('REDIS_DB', '0'),
            ],
    
            'cache' => [
                'url' => env('REDIS_URL'),
                'host' => env('REDIS_HOST', '127.0.0.1'),
                'password' => env('REDIS_PASSWORD', null),
                'port' => env('REDIS_PORT', '6379'),
                'database' => env('REDIS_CACHE_DB', '1'),
            ],
    
        ],
    
    ];
    
    

    注意pgsql里url和client_encoding

    其次代码中的query查询不能使用lower(name) LIKE …. 直接使用name LIKE


    然后
    heroku run php artisan migrate前执行heroku run php artisan config:cache

  • 相关阅读:
    C语言本身并不提供输入输出语句
    大数据
    kdd cup 论文
    决策树比较
    推荐系统
    geohash
    MySQLdb 安装
    天池大数据比赛
    逻辑回归
    矩阵分解
  • 原文地址:https://www.cnblogs.com/dzkjz/p/13273217.html
Copyright © 2011-2022 走看看