php+mysql+apache的安装与配置

作为一个全栈工程师(嗯哼?),我已经配置过很多次的php环境,然而我这数背雅思词汇而不能的记性,让我安装一次忘一次,每次都要重新被折磨一遍。

我是一个不太喜欢图形界面的程序员,所以好多时候配置起来很麻烦。

大概在半年以前,我配置了下windows下的php环境,这次我用的mac进行开发。

因为我的记性不大好,特此在这里记录下,也给需要的小伙伴们分享一下经验。

下面言归正传。

之前用过一个版本的Dw,不知道我是不是姿势不对,编译器居然一点提示都没有,小伙伴纷纷嘲笑我是在拿记事本编程...

为了不为了一个括号找到半夜,这次我改用了phpStorm

phpStorm的官方下载链接在这里:http://www.jetbrains.com/phpstorm/download/

在此不推荐其他途径下载。

apache php 以及mysql 我是通过HomeBrew下载的,在安装HomeBrew的时候,我在网上尝试了好几个HomeBrew的下载地址,然后遇到了好几个404。之后我去了HomeBrew的官网,地址如下:http://brew.sh/index_zh-cn.html 上面有最权威最完整的安装说明。

截至到本文发布,HomeBrew正确的安装方式如下:

1.打开终端

2.输入这个:ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"

3.等待

成功之后,终端里输入:

brew tap homebrew/apache

brew tap homebrew/php

下面正式安装:

安装apache2.4

brew install httpd24 

安装php7.0

brew install php70

安装最新版本mysql(我安装的时候最新版是5.7.12)

brew install mysql

下载安装需要一段时间,请保持网络良好。


安装结束之后,我们要进行配置。

apache的配置文件在/usr/local/etc/apache2/2.4/httpd.conf

加上php

LoadModule php7_module /usr/local/Cellar/php70/7.0.6/libexec/apache2/libphp7.so
<IfModule mod_php7.c>

AddType application/x-httpd-php .php
AddType application/x-httpd-php-source .phps

<IfModule mod_dir.c>
DirectoryIndex index.html index.php
</IfModule>
</IfModule>


端口号Listen默认是8080,可按照习惯自行修改。

DocumentRoot 站点目录,这个也可按照习惯自行修改,不做赘述。


下面开始配置mysql,这下问题来了,我记得去年在windows下安装mysql5.7的时候找不到my.ini文件,然后查了一下,说是5.7以后没有。

如果你用的是5.6的版本,那么可在/usr/local/Cellar/mysql/5.6.xx/my.cnf 路径下找到配置文件,直接按照你的习惯配置数据库即可。

那么5.7该怎么办呢?

1.我们自己找个cnf后缀的文件(windows下是ini),通常是复制support-files里的my-default.cnf(或ini),名字改成my.cnf(my.ini),数据库配置按照你的习惯写,如果不熟悉的话可以去查一查怎么写。

我这么写的:

#你的安装路径

basedir = /usr/local/Cellar/mysql/5.7.12/

#数据库数据存放路径

datadir = /usr/local/Cellar/mysql/5.7.12/data 

port = 3306

# server_id = .....

#字符编码方式 我用的utf8 你可以用gbk 要和你们统一编码一致,不然会出错的0.0

character-set-server=utf8

default-storage-engine=INNODB


#这个linux下要写

[mysqld_safe]

pid-file = /usr/local/Cellar/mysql/5.7.12/data/mysql.pid

#设置大小什么的我就不来了,小伙伴们自己看着写吧~


2.聪明的你很可能发现你的/usr/local/Cellar/mysql/5.7.12/下根本没有data目录,是吧?

请不要手动创建data目录。

具体可以去mysql官网看下:http://dev.mysql.com/doc/refman/5.7/en/data-directory-initialization-mysqld.html 讲的很详细。

请在终端输入mysqld --initialize-insecure --user=mysql --console

上面这句话生成了一个账号为root 密码为空的账号

然而我手动创建了data目录,出现了--initialize specified but the data directory has files in it. Aborting. 这个错误。

我把data目录删除了还是不能解决,按理来说不应该...然后我研究了好久,用了以下命令:

mysqld --initialize-insecure --user=mysql --console --basedir=/usr/local/Cellar/mysql/5.7.12 --datadir=/usr/local/Cellar/mysql/5.7.12/data  (上面那个能行这个就不用了)

然后操作成功了,生成了data目录,data目录下有一些文件。


3.启动mysql服务

mac下启动Mysql服务如下:

启动服务:sudo /usr/local/Cellar/mysql/5.7.12/support-files/mysql.server start

停止服务:sudo /usr/local/Cellar/mysql/5.7.12/support-files/mysql.server stop

重启服务:sudo /usr/local/Cellar/mysql/5.7.12/support-files/mysql.server restart

如果我没记错,windows下应该是:net start mysql

我启动了下服务,遇到这个问题:The server quit without updating PID file

这里说一下,pid文件是记录mysql进程id的文件,也就是mysql process id,为了防止数据库被多次启动而产生。

注意:你可以看下data里的DYQ.loacl.err(DYQ是我的名字)看下日志以确定发生了什么错误,如果你的浏览权限不够请在终端输入:sudo chmod 777 /usr/local/Cellar/mysql/5.7.12/data/DYQ.loacl.err 方有权限查看

notewarning都可以忽略,请直接看error

我开始一直没有start成功(start了一下午...),修改了权限也不行,然后我就直接把mysql删了,重新按照上面的步骤来了一遍,成功了。

特别要提醒一下,网上很多说linux下要在my.cnf里配置pid-file

我一开始没有写,不太确定是不是这个问题,但我重装之后配置了:

[mysqld_safe]

pid-file = /usr/local/Cellar/mysql/5.7.12/data/xxx.pid


绑定mysql指令(bash下)

alias mysql=/usr/local/Cellar/mysql/5.7.12/bin/mysql

alias mysqladmin=/usr/local/Cellar/mysql/5.7.12/bin/mysqladmin

然后就可以用mysql和mysqladmin(和windows应该没有什么区别)。


启动成功之后:

mysql -uroot -p 因为密码为空,password那里直接回车就能进入数据库。

看到Welcome to MYSQL monitor这段话,险些流下眼泪TAT

set password = password('123456');把密码改一改。

create database xxxx; 创建数据库,开始你的使用。

sql语句在这里不做赘述。


下面讲讲phpstorm的环境配置吧,并不能直接使用php语言(用Dw的可以不用看了)。

用的mac版,windows下可能会有轻微区别,请举一反三。

PhpStorm=>Preferences=>Editor=>File Types 

选择PHP,在下面添加文件类型*.html,剩下看你需要。

然后你运行一下代码,网页会出现502 Bad Gateway,编译器右上角会出现一个红圈叹号,PHP Interpreter is not configured PHP解释器没有配置

下面有行字Please configure PHP Interpreter to use built -in web server

如果没有出现,请检查你的操作是否正确。

点击蓝色的字,会弹出一个窗口。

PHP language level 选择你的PHP版本(我的是7)。

Interpreters指定你的PHP目录,新建一个。

以下是我的:Name:PHP 7.0

路径:/usr/local/Cellar/php70/7.0.6/bin/php

写个代码测试下:<? echo '黑骐天下第一美女' ?>

这样PHP就配置好了,再跑网页,你就能看到网页上有“黑骐天下第一美女”这几个字了。

连接数据库之类的就不再赘述。


以上就是全部内容,从开始操作到现在正好折腾了我24小时。

本来昨天要出去长跑的,但因为mysql安装没能出去,今天空气不好,没有跑成~

因为操作是在mac上来的,博客在另一台计算机上写的,所以并没有图片,请大家见谅。

突然发现这是我2016年发的第一篇博客,今年都快过去一半了,我真是一个低产的作者:)

祝大家16年过得愉快,早日成为CTO,迎娶白富美(高富帅),从此走上人生巅峰。


如果写的哪里有什么问题,欢迎随时联系我,但是我不经常在线。

也可以在我的微博上私信我,我的微博:黑騏(骐是繁体的)

如果要转载我的文章,请署名黑骐并附上原文链接,在下先行谢过。


最后喊一下我的口号:我要当一辈子的程序员!


2016.5.5

黑骐


你可能感兴趣的:(apache,PHP,mysql,phpstorm)