前言
我们在Mac上搭建Apache+PHP+MySql环境是非常方便的,因为Mac预装的有Apache和PHP,我们可以直接使用。但是稍微费劲一点的是Mac没有预装Mysql,这个需要我们自力更生。好了,废话就不多说了,接下来让我们愉快的学习一下在Mac上怎么搭建Apache+PHP+MySql的运行环境吧^_^
Apache
首先,让我们来看一下是怎么开启Apache服务的
打开Mac的终端,输入下面一条命令,开启Apache服务(因为sudo是系统管理命令,所以需要输入你的Mac密码):
1
|
sudo apachectl start |
其次,让我们查看一下Apache服务是否开启成功,在浏览器中输入localhost:80(80是默认端口),如果浏览器中显示 It Works!则证明Apache服务开启成功。
PS:上面也说了 Apache服务端口号 默认是80,如果我想换个端口该怎么办呢,不要捉急,往下看⬇️
Apache服务的默认安装路径是/etc/apache2,一版情况下/etc目录在Finder下是不可直接找到的,在Finder下使用快捷键 command+shift+g,然后输入/etc 回车,就会看到apache2目录。
找到并打开httpd.conf,搜索Listen80,修改成你想要的端口号即可(注:对配置文件修改过后要一定要重启Apache服务)
另外,Apache服务部署路径在 /Library/WebServer/Documents 目录下,使用快捷键command+shift+g后输入/L等待1秒钟后回车,进入Library(资源库),倒数第二个WebSever文件夹下的Documents目录就是Apache服务的部署路径,我们的项目需要放在此目录下
如果想要修改默认部署路径,可以在/etc/apache2目录下找到并打开httpd.conf文件,找到 DocumentRoot ,更改路径即可。
(详情请参考:https://www.cnblogs.com/xiaovw/p/9843829.html)
最后,提供几个和Apache服务有关的常用命令。
1
2
3
4
|
启动Apache服务 sudo apachectl start 重启Apache服务 sudo apachectl restart 停止Apache服务 sudo apachectl stop 查看Apache服务 sudo apachectl -v |
配置PHP
因为Mac自带的有PHP,所以我们启动php非常方便,只需要在在Apache服务中配置一下即可直接使用。具体方法如下:
首先,在/ect/apache2目录下找到并打开httpd.conf文件
其次,搜索LoadModule php,找到LoadModule php的所在行,把前面的#号去掉,保存后重启Apache服务即可(我的是PHP7,有的人可能是PHP5,没毛病···)。
最后,让我们在Apache服务的部署路径(/Library/WebServer/Documents)下新建一个index.php测试程序,看一下效果吧。
这是index.php文件里面的内容。
在浏览器中输入如下网址即可查看到PHP的信息
http://localhost/info.php
MySql的安装
因为Mac没有自带的mysql,所以需要我们去手动安装,在浏览器中输入如下网址课之间进入MySQL的官网下载macOS服务。
http://dev.mysql.com/downloads/mysql/
这个时候执行下面的命令,在终端中查看MySQL的版本信息
mysql --version
会报错,报错信息为: zsh: command not found: mysql ,这是因为该命令默认访问/usr/local/bin/mysql 路径下的mysql,所以我们需要建立一个软连接即可,可以在终端中使用如下命令:
sudo ln -fs /usr/local/mysql/bin/mysql /usr/local/bin/mysql
这个时候再次利用安装MySQL时给出的用户和密码登录MySQL服务,在终端输入如下命令后回车,需要输入MySQL密码:
mysql -u root -p
此时已经进入了MySQL服务,退出的命令为quit(exit也可以)
MySQl服务的启动与停止
第一种方法:使用终端命令
启动MySQL服务 sudo /usr/local/mysql/support-files/mysql.server start 停止MySQL服务 sudo /usr/local/mysql/support-files/mysql.server stop
第二种方法:在系统偏好设置中有一个有MySQL选项,可以在这里手动启动与停止MySQL服务,但是我Mac的上MySQL由于版本兼容问题,系统偏好设置的MySQL服务无法加载出来(我的Mac版本为10.13.4)。
安装MySQl图形化管理工具Workbench
下载网址:https://dev.mysql.com/downloads/workbench/
下载完成后安装,安装完成后要建立本地连接(password是MySQl的密码)
最后一步,测试连接,到此为止MySQL图形化管理工具安装并连接本地MySQL成功。
参考博文:https://www.cnblogs.com/henusyj-1314/p/6485182.html
一、Apache服务,终端命令
1. 启动 Apache 服务
在终端输入命令:
sudo apachectl start
1
在浏览器中输入如下网址,检查 Apache 服务是否启动成功!
http://localhost
在打开的页面中,如果显示 It works!表示 Apache 服务启动成功。
注意:在启动Apache服务时,会提示输入开机密码(获取管理员权限)。
2. 查看 Apache 版本
在终端输入命令:
sudo apachectl -v
在本机中版本信息如下:
Server version: Apache/2.4.34 (Unix)
Server built: Feb 22 2019 19:30:04
3. 关闭 Apache 服务
在终端输入命令:
sudo apachectl stop
4. 重启 Apache 服务
在终端输入命令:
sudo apachectl restart
二、Apache服务,安装路径
Apache 服务默认安装路径在 /private/etc/apache2/ ,属于系统私有目录,我们不可直接在 Finder 中找到该路径,但我们可以通过以下方式进入该路径:
在终端输入命令 open /etc 进入 etc 文件夹,找到 etc 文件夹下的 apache2 文件夹便是 Apache 服务的安装路径;
在 Finder 中,使用快捷键 command + shift + G 打开 前往文件夹 输入框,输入 /private/etc/apache2 后,点击 前往 到 Apache 服务的安装路径。
三、Apache服务,部署路径
Apache 服务部署路径在 资源库/WebServer/Documents/ ,我们的项目需要放置在该路径下才能正常访问。如果想要修改部署路径,可以在 /private/etc/apache2/ 目录下找到并打开 httpd.conf 文件,搜索 DocumentRoot 修改部署路径。
Mac下修改路径后,部署文件需要使用 chmod 777 文件路径 命令赋予访问权限。
四、Apache服务,端口号
Apache 服务端口号默认为 80,如果想要修改端口号,可以在 /private/etc/apache2/ 目录下找到并打开 httpd.conf 文件,搜索 Listen 80 修改端口号。
五、Apache服务,PHP启动
PHP 启动只需在 Apache 服务中进行一下配置即可直接使用。首先,在 /private/etc/apache2/ 目录下找到并打开 httpd.conf 文件;其次,搜索 #LoadModule php5_module libexec/apache2/libphp5.so ,将前方的 # 删除;再次,重启 Apache 服务即可;最后,在部署路径下新建一个 test.php 测试(如:在浏览器中输入 http://localhost/test.php 查看PHP输出信息)。
六、运行php文件
1. 小白会遇到的情况
在编辑器中创建一个HelloWorld.php文件并保存。(分号不可省略)
<?php
echo "Hello World!";
?>
如果直接在网页中打开此文件,会发现显示的是源码,因为此时php文件并没有在服务器中运行。
参考:https://www.cnblogs.com/cxying93/p/6940845.html
2. 正确运行
启动服务器
sudo apachectl start
点击Finder,然后Command+Shift+G,前往如下路径(mac下Apache服务器的文件路径)
/Library/WebServer/Documents
在http://127.0.0.1(http://localhost)中确认服务器是否成功启动时,其实默认打开的是index.html.en。因此,把HelloWorld.php文件放在该目录下,再在输入网址http://127.0.0.1/HelloWorld.php,便会正确现实php文件内容。
apache
启动apache服务:(Mac系统自带apache服务器)
第一步:启动apache服务:在终端下输入命令 sudo apapchectl start
第二步:查看apache服务版本:sudo apachectl -v
第三步:在浏览器输入网址http://localhost或者 http://127.0.0.1查看服务器是否连接成功
若成功:显示It works!
其他apache配置:
关闭apache服务:sudo apachectl stop
重启apache服务:sudo apachectl restart
apache服务安装路径:etc/apache2(属于私有目录 在finder上直接看不到,可以在终端上输入cd / 回车 后输入cd etc/apache2可以查看)
apache服务部署路径:Library/Webserver/Documents(我们的项目需要放在该路径下)
注1: 笔者使用Sublime Text软件进行PHP开发,且该软件可以直接打开该配置文件
注2: 如果提示文本锁定不允许修改,可以将该文件复制到其他文件夹修改之后,在粘贴回来覆盖原文件即可
PHP
PHP启动只需要在apache服务中做一些配置就可以启动
输入命令进入etc/apache2中
找到httpd.conf文件,输入命令sudo vim httpd.conf进入编辑
搜索找到#LoadModule php5_module libexec/apache2/libphp5.so 讲前面的‘#’删除
重启apache服务器即可:sudo apachectl restart
测试:在Library/Webserver/Documents目录下建立一个test.php文件进行测试
后在浏览器中输入:http://localhost/test.php可以看到你写的内容
mysql
安装MySQL:
在浏览器中输入网址http://dev.mysql.com/downloads/mysql/进行下载
下载好后安装完,在终端上输入命令mysql --version查看MySQL下载的版本
MySQL的启动与停止:
sudo /usr/local/mysql/support-files/mysql.server start
sudo /usr/local/mysql/support-files/mysql.server stop
在系统偏好设置中启动与停止MySQL服务
在系统偏好设置中有一个MySQL选项,我们可以在这里手动启动与停止MySQL服务
MySQL可视化管理方式phpMyAdmin:
https://www.phpmyadmin.net/downloads/ phpmyadmin下载
下载完成后:将压缩文件解压到/资源库/WebServer/Documents/路径下,并重命名为phpMyAdmin
再次,将文件夹中的config.sample.inc.php文件重命名为config.inc.php
再次,将config.inc.php文件中的如下代码进行修改:讲 $cfg['Servers'][$i]['host'] = 'localhost';修改为$cfg['Servers'][$i]['host'] = '127.0.0.1';
最后,在浏览器中输入如下网址进行登录即可直接对MySQL进行可视化管理: http://localhost/phpmyadmin/
默认用户名:root
安装路径:usr/local/bin/mysql
注:因为在后期登陆phpmyadmin时忘记密码和每一次找回密码后下次在登陆上又会出现密码错误 解决方法:
解决登陆问题:每次密码都不同修改密码
第一步:点击系统偏好设置->最下边点mysql,在弹出的页面中,关闭服务
第二步:进入终端输入:cd/usr/local/mysql/bin
回车后登陆管理员权限:sudo su
./mysqld_safe --skip-grant-tables &重启服务器
第三步:重开一个终端
新终端下输入 alias mysql=/usr/local/mysql/bin/mysql
输入mysql进入mysql命令
use mysql进入mysql数据库
flush privileges 获取权限
set password for 'root'@'localhost'=password('新密码');完成修改