部署laravel项目时遇到的坑

 标签 , TAG , 啦啦

部署项目时遇到的意想不到或者预料之内的问题.

    • composer问题

    Warning: require(): open_basedir restriction in effect. File(/var/www/html/z_cblog/public/../vendor/autoload.php) is not within the allowed path(s): (/var/www/html/z_cblog/public/:/tmp/:/proc/) in /var/www/html/z_cblog/public/index.php on line 24

     

    Warning: require(/var/www/html/z_cblog/public/../vendor/autoload.php): failed to open stream: Operation not permitted in /var/www/html/z_cblog/public/index.php on line 24

    • .user.ini问题

    Fatal error: require(): Failed opening required '/var/www/html/z_cblog/public/../vendor/autoload.php' (include_path='.:/www/server/php/72/lib/php') in /var/www/html/z_cblog/public/index.php on line 24

  • .user.ini 解决方法

使用Lnmp环境的时候,为了实现部署多个项目在一个服务器上,需要使用"虚拟主机(vhost)"技术.会默认在public 目录中生成一个隐藏文件".user.ini"(神秘的.user.ini),此文件无法身处和修改.因为此文件已被锁定,需要解锁才能修改或删除.文件内容是:open_basedir=/var/www/html/z_cblog/public/:/tmp/:/proc/我们发现这个.user.ini把我们的范围控制在public目录里.修改内容或者删除.user.ini

chattr -i .user.ini  //解锁命令

  • composer 解决方式

更新项目composer

composer update //更新composer

 

    • 没有配置APP_KEY

    RuntimeException

    No application encryption key has been specified.

  • 配置APP_KEY

在终端上,cd到项目目录然后执行以下命令.

php artisan key:generate

 

    • 未找到home.layuot.master模板

    View [home.layuot.master] not found. (View: /var/www/html/z_cblog/resources/views/Home/Index/index.blade.php)

     

    来自 <http://z-col.com/>

     

  • 路径大小写问题

生产环境和开发环境配置不一致,容易产生此类问题.在开发中严格遵大小写.修改项目里所有大小写问题.

 

    • 无法登陆后台

    Url中输入地址:z-col.com/admin , 返回404页面

在虚拟主机中找到我们项目的nginx配置文件,server{}里加上一下配置,然后重启.

location / {

try_files $uri $uri/ /index.php?$query_string;

}

 

    • 数据库填充报错

    Seeding: UsersTableSeeder

       ReflectionException  : Class UsersTableSeeder does not exist

     

  • 数据库填充

根据错误提示,没有找到UsersTableSeeder脚本,检查发现脚本名称错误.



Contact ME