如何在不使用 artisan 的情况下在远程 ubuntu 服务器上连接 Laravel 7.12 项目的数据库
Posted
技术标签:
【中文标题】如何在不使用 artisan 的情况下在远程 ubuntu 服务器上连接 Laravel 7.12 项目的数据库【英文标题】:How to connect db of a Laravel 7.12 project on a remote ubuntu server without use artisan 【发布时间】:2021-06-03 00:23:13 【问题描述】:我正在尝试在远程服务器上运行 laravel 项目而不执行 artisan 命令。设计正在正确执行。但我无法连接数据库。我根据我的要求编辑了 .env 和 databse.php 文件。这里我附上连接代码
DB_CONNECTION=mysql
DB_HOST=127.0.0.1
DB_PORT=3306
DB_DATABASE=mydb
DB_USERNAME=user
DB_PASSWORD=secret
'mysql' => [
'driver' => 'mysql',
'url' => env('DATABASE_URL'),
'host' => env('DB_HOST', '127.0.0.1'),
'port' => env('DB_PORT', '3306'),
'database' => env('DB_DATABASE', 'mydb'),
'username' => env('DB_USERNAME', 'user'),
'password' => env('DB_PASSWORD', 'secret'),
'unix_socket' => env('DB_SOCKET', ''),
'charset' => 'utf8mb4',
'collation' => 'utf8mb4_unicode_ci',
'prefix' => '',
'prefix_indexes' => true,
'strict' => true,
'engine' => null,
'options' => extension_loaded('pdo_mysql') ? array_filter([
PDO::MYSQL_ATTR_SSL_CA => env('MYSQL_ATTR_SSL_CA'),
]) : [],
这个问题我该怎么办?
【问题讨论】:
您的数据库是否在同一主机上?我的意思是在本地主机上,您可以使用端口 3306 访问数据库吗?您的 mySql 是否在端口 3306 上运行?您的数据库位于何处? 我在虚拟机上托管了我的 laravel 项目。 Mysql 位于同一个虚拟机中。仅当我运行 php artisan serve 命令时才连接数据库。 您是否已将服务器主机文档根目录指向公用文件夹?您是否在 laravel 根应用程序上创建了 .htaccess 文件。 ? ***.com/questions/28788285/… 这会帮助你 我将服务器主机指向公用文件夹,并且我的项目正在运行而不执行 php artisan 命令。但是数据库没有与之连接。 【参考方案1】:在不执行 artisan 命令的情况下运行 laravel 项目的步骤
需要在/var/www/html/laravel上安装laravel框架
将 index.php 文件改为
需要DIR.'/vendor/autoload.php';
$app = require_once DIR.'/bootstrap/app.php';
编辑 server.php
if ($uri !== '/' && file_exists(DIR.'/public'.uri)) 返回假;
require_once DIR.'/index.php';
在 /etc/apache2/sites-available/ 中创建 laravel.conf 文件
听 8000
服务器名称 ip_of_server
ServerAdmin 用户名@ipaddress
DocumentRoot /var/www/html/laravel //指定项目位置
选项索引多视图
AllowOverride None
要求全部授予
错误日志 $APACHE_LOG_DIR/error.log
CustomLog $APACHE_LOG_DIR/access.log 合并
-
最终运行项目
vm/index.php的http://ip
【讨论】:
以上是关于如何在不使用 artisan 的情况下在远程 ubuntu 服务器上连接 Laravel 7.12 项目的数据库的主要内容,如果未能解决你的问题,请参考以下文章
如何在不配对的情况下在远程设备中安装 J2ME .jar 文件?
如何在没有 Artisan 的情况下在 Xampp 上运行 laravel