前言
首先确保你的mac上已经安装了MAMP,这里安装MAMP就不赘述了,网上一大片教程,就讲讲利用MAMP环境搭建laravel虚拟机启动方法的我遇见的几个坑,前前后后配置了挺多,后面总算成功了,自己分享下自己的配置经验,希望可以帮到你顺便自己记录下。
一、配置MAMP中apache虚拟机配置
打开自己的apache.conf配置,可以使用vscode打开,如图所示: (根据你把MAMP放在哪个位置,我是放在Applications下,目录就如下:/Applications/MAMP/conf/apache/httpd.conf
) 可以在命令行中输入code /Applications/MAMP/conf/apache/httpd.conf
。或者直接拖入到vscode: 找到<Directory />
,修改如下: 代码块贴出,方便复制黏贴:
<Directory />Options Indexes FollowSymLinksAllowOverride All</Directory>
找到#Include /Applications/MAMP/conf/apache/extra/httpd-vhosts.conf
然后把#
去掉:
然后在终端再输入code /Applications/MAMP/conf/apache/extra/httpd-vhosts.conf
注释原来里面的代码:
然后打开输入虚拟机的配置: 代码贴出方便复制:
<VirtualHost *:80>#站点管理员的邮箱,当站点产生500错误(服务器内部错误)的时候会显示在页面上ServerAdmin 136072944@#站点需要绑定的域名ServerName ServerAlias localhost#站点的根目录DocumentRoot "/Applications/laraveldemo/public" // 这是你laravel的项目public作为站点根目录DirectoryIndex index.php // 默认启动<Directory "/Applications/laraveldemo/public">Options +Indexes +Includes +FollowSymLinks +MultiViewsAllowOverride Allallow from All</Directory></VirtualHost>
apache至此配置结束。
二、配置hosts
在终端输入code /etc/hosts
映射你的配置域名。
三、php.ini的配置:
打开php的配置文件php.ini。这里要知道你用的php版本是哪个号,具体可以这样看,我们启动MAMP,如图: 可以看到我们使用的是7.4.12的版本,接着我们打开这个版本php.ini的配置,目录/Applications/MAMP/bin/php/php7.4.12/conf/php.ini
: 找到:
#extension=php_openssl.dll#extension=php_pdo_mysql.dll#extension=php_mbstring.dll#extension=php_fileinfo.dll (验证代码依赖需要该扩展)#extension=php_curl.dll(主要用于请求的发送)
都把前面的#
给删除,如果没有找到这几个也不要慌,我们直接输入这几行代码就可以了,如下:
extension=php_openssl.dllextension=php_pdo_mysql.dllextension=php_mbstring.dllextension=php_fileinfo.dll (验证代码依赖需要该扩展)extension=php_curl.dll(主要用于请求的发送)
所有文件操作完记得保存。 配置完记得重启下MAMP。
四、踩坑
当页面输入/
,有可能会出现not found
或者403的情况,这个时候就要确保你的终端php路径的问题,php的版本需要和你所选的MAMP里的版本一致,因为你改的配置是那个版本的,有可能其他版本没有改,所以会出现这些情况。在终端输入php -v
查看版本:
可以看到我们这边明显不一样的版本,这个时候你就要配置环境变量,我用的zsh,在终端输入code .bash_profile
,打开后输入如下代码:
#phpexport PATH="/Applications/MAMP/bin/php/php7.4.12/bin:$PATH"#php end
我们将这个版本的加入环境变量,然后保存后,再在终端中输入命令:source .bash_profile
,接下来在输入php -v
: 这个时候一致了,我们重启下MAMP。 然后见证奇迹:
laravel已经跑起来了,并且是通过虚拟机这种方式跑起来的。接着我测试下路由情况如下在routes
下web.php
输入如下代码:
Route::get('/home1/{id}', function ($id) {return '输入的id是:'.$id;});
见证效果: 是没有任何问题的。至此我们mac的laravel虚拟机启动方式也搭建完成。
在学习的php的路上,如果你觉得本文对你有所帮助的话,那就请关注点赞评论三连吧,谢谢,你的肯定是我写博的另一个支持。