【问题标题】:Unable to add laravel 5 project to subfolder无法将 laravel 5 项目添加到子文件夹
【发布时间】:2016-12-02 08:12:41
【问题描述】:

我使用本教程将我的 laravel 5 项目添加到共享主机服务器, http://laravel.io/forum/12-29-2015-hosting-laravel-5-on-subdomain#reply-30462

这是我的文件结构,

domain.com/
|--larco
|-- public_html/
|   |--laravel

laravel 文件夹中的public/index.php,

require __DIR__.'/../../../larco/bootstrap/autoload.php';
$app = require_once __DIR__.'/../../../larco/bootstrap/app.php';

bootstrap/app.php 文件,

realpath(__DIR__.'/../../larco/')

bootstrap/autoload.php,

require __DIR__.'/../../larco/vendor/autoload.php';
$compiledPath = __DIR__.'/../../larco/cache/compiled.php';

我的 laravel 版本是 laravel 5.2。在我加载“http://domain.com/laravel/public/”链接后,我得到“哎呀,好像出了点问题。”问题。如果有人可以调查一下,那将是很大的帮助。

这是在 storage/logs/laravel.log 中添加的问题

production.ERROR:异常“RuntimeException”,消息“否” 找到支持的加密器。密码和/或密钥长度是 无效的。'在 /home/silverdr/larco/vendor/laravel/framework/src/Illuminate/Encryption/EncryptionServiceProvider.php:45

这是我的环境文件...

APP_ENV=local
APP_DEBUG=true
APP_KEY=base64:tcPLEQN5yC984pB8EVHsdR/hLNFtq0hBasH+LMFBO+M=
APP_URL=http://localhost

DB_CONNECTION=mysql
DB_HOST=127.0.0.1
DB_PORT=3306
DB_DATABASE=mydb
DB_USERNAME=myuser
DB_PASSWORD=mypass

CACHE_DRIVER=file
SESSION_DRIVER=file
QUEUE_DRIVER=sync

REDIS_HOST=127.0.0.1
REDIS_PASSWORD=null
REDIS_PORT=6379

MAIL_DRIVER=smtp
MAIL_HOST=mailtrap.io
MAIL_PORT=2525
MAIL_USERNAME=null
MAIL_PASSWORD=null
MAIL_ENCRYPTION=null

【问题讨论】:

  • 启用调试模式并查看实际错误是什么
  • 或查看您的日志storage/llogs/laravel.log
  • @james,我检查了错误日志并更新了问题。非常感谢
  • @vimuth 请运行php artisan key:generate 并告诉我进展如何
  • @vimuth 检查我的答案

标签: php laravel laravel-5.2


【解决方案1】:

我找到了另一种更简单的方法来做到这一点。我们只需要在共享域中创建一个文件夹,

  1. 将 server.php 文件的名称更改为“index.php”。
  2. 将 .htaccess 文件从公用文件夹复制到主目录(已创建子文件夹)
  3. RewriteEngine On 之后的 .htaccess 中,我们必须添加 RewriteBase /yoursubfolder/

我的 laravel 版本是 5.2,这对我有用。我将此添加为不同的答案,因为这不是实际答案,但这对我真的很有帮助

【讨论】:

    【解决方案2】:

    我不知道你们为什么在将 Laravel 应用程序部署到共享主机时感到困惑。这很简单,我已经回答了 here 但为了新问题,让我解释一下。

    将 Laravel 项目部署到共享主机:

    1. 压缩您的项目并将其上传到public_html 并解压
    2. 现在在 mysqldatabases 中创建一个新数据库(在您的托管 cPanel 中)
    3. 接下来是将本地数据库.sql文件从本地phpmyadmin导入到在线托管phpmyadmin
    4. 下一步是进入项目文件夹并在.env文件中编辑以下内容

    DB_DATABASE=yourdatabasename

    DB_USERNAME=databaseusername
    
    DB_PASSWORD=databasepassword
    

    就是这样,您的项目将继续运行,yoursite.com/yourproject

    这是我将我的应用部署到子目录的视频:Tutorial

    【讨论】:

      【解决方案3】:

      经过多次错误尝试后,将加密密钥密码更改为 MCRYPT_RIJNDAEL_128 对我有用。

      我在config/app.php里改了,

      'key' => env('APP_KEY'),
      
      'cipher' => MCRYPT_RIJNDAEL_128,
      
      • MCRYPT_RIJNDAEL_128 应该不带引号。

      【讨论】:

      • 为什么投反对票?@iftikar 如果这是为了报复我没有投你的票...
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2021-04-11
      • 2018-05-25
      • 2013-12-17
      • 2013-01-12
      • 2012-04-16
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多