macos 配置apache,mysql,php,nginx环境
众所周知,php在mac里是自带的
目前IT行业发展到现在,要配置个东西简直分分钟的事,而我作为一个从python转学php初学者,慢慢摸索出了以下的安装方法,当然其实完全可以远程拉取一个docker的镜像即可使用,这个后面再说,目前还是直接用本地的吧,本地的话就有集成环境和自安装环境的区别了,什么是集成环境,即mac下的MAMP(mac apache mysql php),linux下的LAMP(linux apache mysql php),windows下的WAMP(windows apache mysql php)和phpstudy,如果你想要速成php的话,可以直接使用以上说的工具安装,然后使用即可,但是我个人还是喜欢一步步来,先把环境配置手动搭建好了,再搞后面的,对它有一定理解了我才装集成环境
而其实,实际我们需要安装的其实就是三个,apache,mysql,php,这三个,如果你对开发有经验的话,其实你会觉得这三个安装其实很简单,两下就ok了
0.编辑器phpstorm安装
不用多说,首选还是jetbrains公司出的编辑器,个人看个人喜好,自行去网上下载然后安装配置
目前只需要配置下php解释器
如果找不到的php所在目录,可以在终端用命令 find / -name php搜索在哪
1.apache配置
apache在mac里是自带的,也就是说不需要你自己去安装了,它被安装在/etc/apache2目录下。如果你要手动装的,可以卸载了然后用homebrew来安装。直接用以下命令即可启动
sudo apachectl start
但是这样的话,有很多配置都是系统默认的,并不符合我们的使用,还需要再配置一下,apache 默认部署在/Library/WebServer/Documents目录下的,这个目录肯定不是我们想的目录,所以,可以修改下
改什么呢,改httpd.conf文件,这个文件在/etc/apache2/目录下
对其进行设置, sudo vim httpd.conf,搜索 Docum 找到下面我圈出来的地方,保留默认的,改成你想的路径即可,如下,注意,你得去创建好你指定的目录才行
再把httpd.conf的这个地方改了,把这个注释去掉,这个根据你安装的php版本号而定,并不是所有的电脑安装的php都是定死的文件名
修改完毕保存后,重启apache sudo apachectl restart
现在我在我设置的这个目录里创建一个html文件,然后访问试试
正常访问,配置成功
php配置
现在当你创建一个php文件时,然后访问:
发现并没有逾期的打印php相关数据,而是直接把这个php当成一个内容文字显示了(这个我忘了截图了,现在回显不了了,反正你初始配置就是我描述的情况)
并且刚才配置phpstorm的时候细心的你应该也发现了这里有一个警告:
这时需要复制/private/etc/目录下一个文件
复制完之后,/etc/目录下也有这个文件了,然后phpstorm也没有警告了
浏览器访问这个文件也可以正常显示了
当然你也可以直接在phpstorm像运行脚本一样运行
以上,基本的配置就完毕了,就可以开始编写php代码了
2.配置phpstorm 作为服务器端
当写完php,点击右边的浏览器图标时,
编辑器也报错了:
意思就是没有php-cgi文件,说明mac自带的php并没有装上php-cgi,这个我查阅大量的资料,都说是需要重新手动安装下php就会自带上php-cgi,除了这个以外我就暂时没找到其他的方法,那么就看你自行选择了,我选择先暂时不重装
3.homebrew安装
为什么要装它呢,越到后面你越会觉得需要安装它,当然,此时此刻,针对php并不是必须的,详细的安装就看这个教程即可,我就不赘述了,
4.mysql安装
网上查了下,以前老的mac不自带mysql,新的mac都自带mysql,我的电脑就是自带的mysql,对于自带的mysql,有上面的经验的你,一定知道,还是需要做一些配置才行
这里,我选择重新安装mysql,安装方法你可以选择去oricle官网下载dmg镜像安装,也可以用homebrew安装,这里我就选择homebrew安装
brew install mysql
默认是安装的最新版mysql8
安装完,启动,跟着它提示的操作
mysql.server start
mysql_secure_installation # 这个是初始化配置
跟着它提示来就行了,然后设置个密码,我一般就设置的123456之类的,它每个提示如果对英文吃力,可以翻译下啥意思
然后如果你在mysql -uroot -p 之后,在明确知道密码没有输入错误的时候,遇到报错:Error: Access denied for user 'root'@'localhost' (using password: YES)
很可能是你mac电脑自带了一个版本的mysql,然后之前没有卸载干净就直接又装了一个mysql,
办法就是,先用brew remove mysql卸载刚才安装的mysql,再把之前有的mysql,用find命令找到目录,然后,rm -rf 删除掉(放心,没有什么问题,我的是用的 rm -rf /usr/local/var/mysql ),然后再brew和镜像再安装一次
1. brew remove mysql
2. brew cleanup --force
3. rm -rf /usr/local/var/mysql
4. brew install mysql
5. mysql.server start
6. mysql_secure_installation
5.安装nginx
这个安装跟mysql差不多,我这里照样的用homebrew安装,使用命令 brew install nginx 安装即可
至此,mac下的php环境就配置完毕了,然后,linux和win下安装大体也没什么区别,就一些细微的区别而已,这里就不展示了,自行配置