Php 无法从AWS EC2实例上运行laravel 5.2的数据库中提取

Php 无法从AWS EC2实例上运行laravel 5.2的数据库中提取,php,mysql,laravel,amazon-ec2,laravel-5.2,Php,Mysql,Laravel,Amazon Ec2,Laravel 5.2,我正在关注一个系列,我一直在将用户路由到一个显示数据库信息的页面。他在使用localhost Sequel,我在AWS EC2实例上运行Mysql 这里是错误 QueryException in Connection.php line 713: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'phpmyadmin.products_lists' doesn't exist (SQL: select * from `produ

我正在关注一个系列,我一直在将用户路由到一个显示数据库信息的页面。他在使用localhost Sequel,我在AWS EC2实例上运行Mysql

这里是错误

QueryException in Connection.php line 713:
SQLSTATE[42S02]: Base table or view not found: 1146 Table
'phpmyadmin.products_lists' doesn't exist (SQL: select * from 
`products_lists` where `products_lists`.`id` = 7 limit 1)
myroutes.php的内容

Route::get('product', function() {
//echo 'hello';
$product = App\products_list::find(7);
print_r($product);
});

Route::group(['middleware' => ['web']], function(){

});
我的模型的内容

namespace App;

use Illuminate\Database\Eloquent\Model;

class products_list extends Model
{
    //
}
以及my.env的内容

APP_ENV=local
APP_DEBUG=true
APP_KEY=SomeRandomString
APP_URL=http://localhost

DB_CONNECTION=mysql
DB_HOST=localhost
DB_PORT=
DB_DATABASE=localhost
DB_USERNAME=root
DB_PASSWORD=snipsnip

CACHE_DRIVER=file
SESSION_DRIVER=file
QUEUE_DRIVER=sync

REDIS_HOST=127.0.0.1
REDIS_PASSWORD=null
REDIS_PORT=6379
请注意,我的错误是“phpmyadmin.products\u list”,但我不明白为什么幼虫坚持保留我以前的.env文件中的数据。 另外,我不确定APP_KEY=SomeRandomString是否正确,因为撇开数据库问题不谈,它可以正常运行

下面是我的实例的/etc/phpmyadmin/config-db.php的内容

$dbuser='phpmyadmin';
$dbpass='snipsnip';
$basepath='';
$dbname='phpmyadmin';
$dbserver='';
$dbport='';
$dbtype='mysql';

Laravel Eloquent试图访问模型本身的复数形式的表。这就是为什么你的类名是
products\u list
,它试图找到一个名为
products\u list
的表。如果使用的是自定义名称,请设置表名:

namespace App;

use Illuminate\Database\Eloquent\Model;

class products_list extends Model
{
    protected $table = 'your_custom_name';
}
至于密钥,只需生成您自己的:

php artisan key:generate

原来我的问题是模型

应该是的

<?php

namespace App;

use Illuminate\Database\Eloquent\Model;

class products_list extends Model
{
    protected $table = 'products_list';
}

使用PSR名称组织您的模型,即产品(而不是产品列表),一旦您习惯了,您将看到较少的错误

默认情况下,Model Product将查找表名“products”(模型名的复数形式),如果要更改它,请设置受保护的类var$table=“your_table_name”,尽管不建议这样做,因为如果使用关系,则必须在所有位置都设置表名,最好遵循约定

如果您的.env在运行php artisan key:generate时不影响或更新,则可能您的权限不正确

在.env上设置chmod 755,在存储和引导文件夹上设置chmod 755或777

要检查数据库连接是否正常工作,请通过artisan运行迁移

php artisan迁移
基本上,它将创建迁移表

如果仍然没有加载类,请运行composer update

composer dump auto
php artisan optimize
将编译这些类


在ubuntu系统上,最好创建一个新用户,并使用相同的用户更新项目文件夹,而不要使用root用户(或AWS EC2上的ubuntu用户)

感谢您的快速响应!我添加到受保护的表中,并获得了
SQLSTATE[42S02]:未找到基表或视图:1146表“phpmyadmin.paidfor”不存在
。我向你保证这张桌子确实存在:)那么,有这样一张桌子吗?是否有数据库
phpmyadmin
?在.env中,您已经声明了
DB\u DATABASE=localhost
。你确定你的数据库名是
locahost
?另外,当我点击key generate命令时,我得到
Application key[base64:gclskkk0ae7pflmi8nztvy8bllhsg6c9zestg6auc/00=]设置成功。
这把钥匙的哪一部分放在
APP_key=SomeRandomString
中,它会自动用新钥匙更新你的
.env
文件。否则,您的整个安装都是错误的。您是否有
.env
文件,或者您正在使用
example.env
?很可能整个安装都是错误的。不久前,我将
example.env
重命名为
.env
。我在帖子中添加了一些新的细节(在底部),以澄清服务器的细节。我尝试将localhost替换为phpymyadmin,但没有成功。此外,是的,它不会自动更新
.env
文件