1. 云栖社区>
  2. 技术文集>
  3. 列表>
  4. 正文

Laravel项目问题集锦

作者:用户 来源:互联网 时间:2018-07-08 16:40:38

laravellaravel框架

Laravel项目问题集锦 - 摘要: 本文讲的是Laravel项目问题集锦, 1、No supported encrypter found. The cipher and / or key length are invalid. 解决方法: cd 项目根目录 // 注:新版本生成的key值,外

1、No supported encrypter found. The cipher and / or key length are invalid.
解决方法:

cd 项目根目录
// 注:新版本生成的key值,外层有[],不要复制错了
php artisan key:generate
// 执行完之后会生成一个key串,将生成的key复制到config/app.php替换82行的APP_KEY键值。
'key' => env('APP_KEY', '8lEB3iDioWwxdTX2i7dp5jvOCAWDyAWV'),

2、用artisan命令创建model时提示[RuntimeException]
Unable to detect application namespace.

php artisan make:model Models\User(指定创建路径)

解决方法:
查看composer.json是否有语法错误。本人在项目中遇到此错误是因为composer.json里有语法错误。

3、laravel5.2 执行php artisan migrate时报如下错误
SQLSTATE[42000]: Syntax error or access violation: 1067 Invalid default value for ‘created_at’

This is due to MySQL not accepting zero as a valid defalt date and thus the table creation fails a constraint check on creation.

解决方法:
打开config/database.php 修改

'mysql' => array(
   'strict'    => true  // strict 模型
),

4、PDOException SQLSTATE[HY000] [2002] No such file or directory

在执行php artisan migrate时报上述错误的原因是因为在linux中连接mysql时使用localhost和127.0.0.1连接数据库的机制是不一样的。

当主机填写为localhost时mysql会采用 unix domain socket连接
当主机填写为127.0.0.1时mysql会采用tcp方式连接

第一种解决方法:
查看连接方式及unix socket的连接位置

[root@centos l5beauty]# mysql -uroot -p
Enter password: 
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 11
Server version: 5.6.30 Source distribution

Copyright (c) 2000, 2016, Oracle and/or its affiliates. All rights reserved.

Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

mysql> show variables like '%sock%';
+-----------------------------------------+-----------------------------+
| Variable_name                           | Value                       |
+-----------------------------------------+-----------------------------+
| performance_schema_max_socket_classes   | 10                          |
| performance_schema_max_socket_instances | 322 
// 这里是socket的路径                        |
| socket                                  | /usr/local/mysql/mysql.sock |
+-----------------------------------------+-----------------------------+
3 rows in set (0.01 sec)

mysql> status
--------------
mysql  Ver 14.14 Distrib 5.6.30, for Linux (i686) using  EditLine wrapper

Connection id:      11
Current database:   
Current user:       root@localhost
SSL:            Not in use
Current pager:      stdout
Using outfile:      ''
Using delimiter:    ;
Server version:     5.6.30 Source distribution
Protocol version:   10
Connection:     Localhost via UNIX socket
Server characterset:    utf8
Db     characterset:    utf8
Client characterset:    utf8
Conn.  characterset:    utf8
// 这里是socket的路径
UNIX socket:        /usr/local/mysql/mysql.sock
Uptime:         --------------

然后修改config\database.php中的mysql连接配置如下

   'mysql' => [
            'driver'    => 'mysql',
            'host'      => env('DB_HOST', 'localhost'),
            'database'  => env('DB_DATABASE', 'blog'),
            'username'  => env('DB_USERNAME', 'root'),
            'password'  => env('DB_PASSWORD', '123456'),
            'charset'   => 'utf8',
            // 加入如下一行
            'unix_socket' => '/usr/local/mysql/mysql.sock',
            'collation' => 'utf8_unicode_ci',
            'prefix'    => '',
            'strict'    => true,
        ],

第二种解决方法:
使用phpinfo查看php的配置并找到如下配置,也可以使用php -i | grep pdo查看

Directive                       Local Value   Master Value
pdo_mysql.default_socket    /tmp/mysql.sock /tmp/mysql.sock

修改php.ini的配置

//修改成如下值之后重启php-fpm 
pdo_mysql.default_socket=/usr/local/mysql/mysql.sock

以上是云栖社区小编为您精心准备的的内容,在云栖社区的博客、问答、公众号、人物、课程等栏目也有 的相关内容,欢迎继续使用右上角搜索按钮进行搜索laravel laravel框架 ,以便于您获取更多的相关知识。

php laravel5.1 密钥无效问题

问题描述 php laravel5.1 密钥无效问题 将项目部署到coding上以后 访问域名.public出现No supported encrypter found. The cipher and / or key length are invalid. 怎么解决?本地控制台获取的APP_KEY修改后也没有用 ...

Laravel 5.1 on SAE环境开发教程【附项目demo源码】_php实例

本文实例讲述了Laravel 5.1 on SAE环境开发方法。分享给大家供大家参考,具体如下: Laravel-简洁、优雅的PHP开发框架,为 WEB 艺术家创造的 PHP 框架,如今正式移植到SAE环境。 由于Laravel 5.1相比于Laravel 4有很多的改动,不仅以目录结构...

Laravel项目和其它项目共享session问题

...这项目加一些功能,但是新功能我不想用TP开发了, 想用Laravel,Laravel放在旧项目的一个子目录里,但是为什么无法读取TP的SESSION。 我这样说 会不会更明白一些。 不要告诉存数据库什么的,存不存数据库Laravel的Session都是二次...

阿里云服务器部署php的laravel项目,在阿里云买ECS 搭建 Linux+Nginx+Mysql+PHP环境的

...装之。 至于php5-mcrypt,有些PHP框架会依赖于这个,比如Laravel就是,所以也把它装上了。 4.配置PHP sudovim/etc/php5/fpm/php.ini 打开PHP配置文件,找到cgi.fix_pathinfo选项,去掉它前面的注释分号;,然后将它的值设置为0,如下 cgi.fix_pathinf...

Laravel + Vue.js 的 SPA 项目中进行微信网页授权的一种姿势

相信 Laravel 和 Vue.js 很多人都已经相当熟悉了,在较近版本的 Laravel 中,已经默认支持 Vue 组件化开发,这也顺应了眼下基于 API 前后分离以及开发单页面应用(SPA)的均势。 项目基本情况 Laravel 5.4 overtrue/laravel-wechat 包 (内部...

前三篇
后三篇