繁体   English   中英

为什么我看不到这个 Laravel 项目?

[英]Why can't I view this laravel project?

诚然,我是 Laravel 和后端开发的新手,但我试图在浏览器中打开 Laravel 项目,却收到一条错误消息。 我从一个与另一组开发人员合作的客户那里继承了这个项目,他们已经离开了,所以我自己试图找出问题所在。

第一个错误消息是:

**Warning:** require(C:\xampp\htdocs\vizzue\bootstrap/../vendor/autoload.php): failed to open stream: No such file or directory in **C:\xampp\htdocs\vizzue\bootstrap\autoload.php** on line **17**

**Fatal error:** require():Failed opening required 'C:\xampp\htdocs\vizzue\bootstrap/../vendor/autoload.php' (include_path='C:\xampp\php\PEAR') in **C:\xampp\htdocs\vizzue\bootstrap\autoload.php** on line **17**

为了尝试修复该错误(来自我在此处找到的解决方案),我在终端中运行了composer install以尝试下载丢失的文件。 将之前的错误消息切换为Whoops, looks like something went wrong. (不是很有帮助)。

因此,我在这里找到了更多建议,以获取有关我的问题的更详细的错误信息,并在四个单独的标题下输出了一长串错误列表。

标题 1

SQLSTATE[HY000] [1045] Access denied for user 'homestead'@'localhost' (using password: YES) (SQL: select * from `sessions` where `id` = hA02gV6ShpNslkw0N8Wrgm8QmyA0ZxoXfCNHsVTK limit 1)

标题 2

PDOException
SQLSTATE[HY000] [1045] Access denied for user 'homestead'@'localhost' (using password: YES)

标题 3

QueryException
SQLSTATE[HY000] [1045] Access denied for user 'homestead'@'localhost' (using password: YES) (SQL: select * from `sessions` where `id` = hA02gV6ShpNslkw0N8Wrgm8QmyA0ZxoXfCNHsVTK limit 1)

标题 4

PDOException
SQLSTATE[HY000] [1045] Access denied for user 'homestead'@'localhost' (using password: YES)

我的 PHP 版本是:PHP 7.2.28

我的 Laravel 版本是:Laravel Framework 5.4.36

另外,我通过复制.env-example文件创建了一个.env

编辑:

我在database/migrations目录中找到了数据库信息,所以我确实有数据库文件。 但是,我仍然遇到错误。 我运行了php artisan generate:key ,这很好。 但是当我运行php artisan migrate出现以下错误:

In Connection.php line 647:

  could not find driver (SQL: select * from information_schema.tables where ta   
  ble_schema = homestead and table_name = migrations)


In Connector.php line 68:

  could not find driver

您应该配置.env文件以启用对数据库的 laravel 访问。 如果您没有,只需复制.env.example文件并将其重命名为.env

然后更改以下属性:

DB_DATABASE=YOUR_DATABASE_NAME

DB_USERNAME=USER_NAME

DB_PASSWORD=密码

然后你应该运行php artisan key:generate来生成一个新的加密密钥

编辑

对于您的新问题,您应该运行composer update ,然后composer require doctrine/dbal

如果那不起作用

您可能需要在 php.ini 文件中注释掉以下内容。

;extension=pdo_mysql.so

正如这里所说

首先,您将 .env.example 的名称更改为 .env,然后在其中配置您的数据库名称设置。 之后运行 composer install 来安装您的项目依赖项。 确保您的网络服务器已启动并正在运行

下面是一个 Laravel 项目的基本安装过程。 我将尝试解释它们中的每一个,以便您能够自己找出错误。

  • 获取源代码

您首先需要获取应用程序的源代码。 大多数时候它是通过 git 完成的。 例如,您需要在此处输入git clone https://github.com/miracuthbert/saas-boilerplate.git yoursaasproject来克隆托管在 github 上的存储库

  • 安装依赖

    通过键入cd projectname转到您之前获得的源代码目录的根目录。 laravel 框架使用 composer 作为它的依赖管理器。 所以你需要安装它。 (你已经做了什么)然后,从你的项目的根目录,以相同的顺序输入以下指令:

    composer install

    composer update

  • 环境配置

laravel 框架的环境变量是通过一个 dot env 文件来管理的。 通常会提供一个名为 .env.example 的示例文件。 您将在项目文件夹的根目录中找到它。 假设您使用的是带有 bash 提示符的终端,请键入以下命令将 .env.example 复制到 .env 文件:

cp .env.example .env

获得新的 .env 文件后,输入

php artisan key:generate

在 .env 文件中生成安全密钥

根据您打算使用的数据库管理系统类型,以下是一些要添加到 .env 文件中的特定配置:

  • MySQL

如果选择 MySQL 作为 DBMS,请在 .env 文件中设置以下值:

     DB_CONNECTION


     DB_DATABASE


     DB_USERNAME  


     DB_PASSWORD

homestead 是默认的 DB_USERNAME,localhost 是默认的数据库主机。 Localhost 非常适合在本地工作,但您需要使用相应的密码将 DB_USERNAME 更改为 DBMS 的实际用户。

  • Sqlite

如果您使用 sqlite,请输入以下命令创建一个新的 sqlite 数据库:

`touch database/database.sqlite`

设置数据库后,输入以下命令来创建和填充表: php artisan migrate --seed

您可能还需要编辑 .env 中的其他变量。 laravel 官方文档是你最好的伴侣。 据我所知,这是您需要做的。

至于驱动程序错误,这里有一些潜在的解决方案,这些解决方案来自对这里提出的类似问题的回答:

请务必在 app/config/database.php 中配置“默认”键

对于 mysql,这将是 'default' => 'mysql',

如果您收到 [PDOException] 找不到驱动程序错误,请检查您是否安装了正确的 PHP 扩展。 您需要安装并启用 pdo_mysql.so 和 mysql.so。 有关如何执行此操作的说明因操作系统而异。

对于 Windows,mysql 扩展应该与官方 PHP 发行版一起预先下载。 只需编辑您的 php.ini 并取消注释 extension=pdo_mysql.so 和 extension=mysql.so

此外,在 php.ini 中,确保将 extension_dir 设置为正确的目录。 它应该是 PHP 安装目录中名为 extensions 或 ext 或类似的文件夹。

原始答案中还提供了其他说明,但我只推荐我理解的说明。 它最初是为 postgres dbms 编写的。

如果还有问题,看看laragon 它有点像 xamp(您似乎在 Windows 操作系统上使用),但功能更强大且更易于使用。 主要的后端语言和框架可以在几分钟内轻松设置。 这包括带有 laravel/symfony 的 php、ruby 和 Ruby on Rails、python 和 Django。 它允许您轻松管理同一编程语言的多个版本,并且是完全可扩展的。 如果您是 Laravel 或后端开发的新手,并且在 Windows 操作系统上工作,那么这是必须的。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM