编程学习网 > PHP技术 > laravel > Laravel虚拟域名绑定和数据库建立
2019
12-03

Laravel虚拟域名绑定和数据库建立

Laravel虚拟域名绑定和数据库建立

安装Laravel

直接可以敲指令,进入到相应目录下
创建一个项目名为"api"的Laravel项目
composer create-project --prefer-dist laravel/laravel api
1.虚拟主机域名绑定和端口修改
虚拟主机域名绑定
给项目配置的虚拟主机域名是 roast.com

打开rewrite模块:打开 apache 的 conf 文件夹,找到httpd.conf配置文件,在该文件中找到LoadModule rewrite_module modules/mod_rewrite.so,去掉它前面的#(即打开注释)。
找到Include conf/extra/httpd-vhosts.conf,打开注释。表示导入(也就是开启)虚拟主机的配置,虚拟主机的配置文件是conf/extra/httpd-vhosts.conf这文件。(1,2步可能不需要自己修改,看自己的配置来)
编辑文件:C:\Windows\System32\drivers\etc\hosts,新增一行: 127.0.0.1 roast.com。
编辑文件:\wamp\bin\apache\conf\extra\httpd-vhosts.conf,新增一段
<VirtualHost *:80>
  ServerName roast.com
  ServerAlias roast.com
  DocumentRoot "${INSTALL_DIR}/www/api/public"
  <Directory "${INSTALL_DIR}/www/api/public">
    Options +Indexes +Includes +FollowSymLinks +MultiViews
    AllowOverride All
    Require all granted
  </Directory>
</VirtualHost>


代码具体解释:
//VirtualHost里面写的是hosts文件里面配置的域名
<VirtualHost *:80>
//ServerAdmin设置了在所有返回给客户端的错误信息中包含的管理员邮件地址
    ServerAdmin roast.com
    //DocumentRoot是指你项目所在的文件夹
    DocumentRoot "D:\wamp64\www\project"
    //ServerName是指自己配置的域名地址
    ServerName roast.com
    //错误日志存放位置  
    ErrorLog "logs/roast.com-error.log"  
    CustomLog "logs/roast.com-access.log" common
    //Directory和项目的文件地址一样
    <Directory "D:\wamp64\www\project"> 
//Indexes 的作用就是当该目录下没有 index.html 文件时,就显示目录结构,去掉 Indexes,Apache 就不会显示该目录的列表了。要禁止 Apache 显示目录结构列表,只需将 Option 中的 Indexes 去掉即可。  
//MultiViews 使用"MultiViews "搜索,即服务器执行一个隐含的文件名模式匹配,并在其结果中选择。  
//设置后,在地址栏内输入index.php 可以显示页面。在地址栏内输入index同样可以显示index.php页面  
//【备注:在Indexes前,加 + 代表允许目录浏览;加 – 代表禁止目录浏览。】
        Options -Indexes FollowSymLinks MultiViews  
        //设置访问目录默认页面为index.php
        DirectoryIndex index.html index.php
        //是否允许覆盖,由于要使用框架的话就要开启rewrite,设置了允许覆盖 
        AllowOverride all
        //允许所有  
        Order allow,deny
        Allow from all
    </Directory>
</VirtualHost>

重启Apache服务器
端口修改
在写完虚拟主机域名之后:
5. 打开Apache目录下的conf,找到httpd.conf文件搜索 Listen
>修改Listen 0.0.0.0:80 为 Listen 0.0.0.0:8081

修改端口(如我修改端口为8081)
\wamp\bin\apache\conf\extra\httpd-vhosts.conf里

将<VirtualHost *:80>改成<VirtualHost *:8081>

修改访问地址
访问roast.com:8081

2.创建数据库
修改.env文件
修改DB_DATABASE为自己的数据库,在phpmyadmin里面新建一个相同名字的数据库,wamp默认的数据为

DB_USERNAME=root
DB_PASSWORD=

创建新的数据表
创建数据表迁移
php artisan make:migration create_users_table

创建新字段
在database/migrations里面的这个操作在 Schema::ceate 方法的第二个参数的闭包函数中完成

运行迁移
php artisan migrate 
错误提示
laravel运行带有group by的sql时提示
“SQLSTATE[42000]”
解决办法:
项目/app/Providers/AppServiceProvider.php 中的 Schema::defaultStringLength 方法来配置它:

use Illuminate\Support\Facades\Schema;
 
/**
 * 引导任何应用程序服务。
 *
 * @return void
 */
public function boot()
{
    Schema::defaultStringLength(191);
}

问题解决。这事是因为laravel在5.3之后的版本默认设置strict 的值为true。

扫码二维码 获取免费视频学习资料

Python编程学习

查 看2022高级编程视频教程免费获取