1.mac 是自带apache/php ,启动apache : apachectl start . 开启php的话,在apache的配置文件, 取消对php.so的注释即可。
2.测试 apache是否启动: 在浏览器中输入 " localhost ", 浏览器显示" It Works! ",则表示启动成功.
3.测试 php 是否可用,在 apache默认存放目录下(/Library/WebServer/Documents) 写一个test.php文件, 文件内容如下:
phpinfo();
?>
phpinfo()函数式输出有关php当前状态的大部分信息内容。
在浏览器中输入 “ localhost/test.php”,如果能显示内容,则php启动成功,输出如下:
4.去mysql官网下载mysql的dmg文件,默认下一步安装. 安装好了之后,可以通过"系统偏好设置"-->"MySQL" -->"启动", 来启动MySql. 打开终端,进入到mysql的安装目录下,即/usr/local/mysql/bin/mysql,在命令行中输入 "./mysql" 或者 直接"/usr/local/mysql/bin/mysql" 来启动mysql. 当然也可以将可执行文件的搜索目录/usr/bin建立软链接到mysq的安装目录.命令为”ln -s /usr/local/mysql/bin/mysql /usr/bin“ [使用方法:ln -s 源文件 被链接的文件]
5.测试php调用mysql是否成功,在apache默认存放目录下(/Library/WebServer/Documents) 写一个test_mysql.php,文件内容如下:
mysql_connect("localhost", "root", "") ; // 注:mysql安装后,默认用户名是root,密码是空
?>
使用命令”php -m“,来查看php安装的插件,结果 如下:
php之所以能调用mysql的api, 前提是php已经安装了mysql插件 [mac应该自带php的mysql插件,但是mac没有自带mysql,所以要到官网下载安装 ],用"php -m"命令已经显示了mysql。
本人在浏览器中输入"localhost/test_mysql.php" ,浏览器产生下面的结果:
"Waringing :no such file or directory in /Library/WebServer/Documents/test_mysql.php in line 2 "
解析: 由于php,mysql插件和mysql都已经安装好, 所以可能是设置或者使用方法不当等某种原因, 通过查阅资料, php和mysql 是通过unix socket通信的,也就是说php是同过本地网络通信 将函数,命令等 发送给mysql的。 通过在浏览器中输入"localhost/test.php"发现:
php的mysql插件 使用的unxi socket的文件名是 /var/mysql/mysql.sock [即php是使用mysql插件和mysql通信的]
通过命令行进入到mysql, 输入 ”status“命令, mysql显示的是:
即 mysql 使用的unix socket是 /tmp/mysql.sock. 所以要将php的mysql插件的 unixsocket也设置为 /tmp/mysql.sock
最后 ,通过一个软连接, 将 php的mysql插件 的/var/mysql/mysql.sock 链接到 /tmp/mysql.sock
ln -s /tmp/mysql.sock /var/mysql/mysql.sock
源文件 目标文件,需要处理连接到其他文件