Mac下配置PHP+Apache+phpMyAdmin+MySql远程链接

时间:2023-03-09 09:54:58
Mac下配置PHP+Apache+phpMyAdmin+MySql远程链接

最近的项目是微信公众号平台的开发,微信官方给出的Demo是PHP的,发现大部分的学习资料也是PHP,那好吧,放弃Java,来段儿PHP吧

下面说说Mac下搭建PHP环境

数据库:MySQL-5.6.26

OS X:10.11.1

Apache:2.4.16

phpMyAdmin:4.5.2

编辑器:Sublime Text3

Apache:

  Mac系统下已经自带,打开『终端』输入:  

 sudo apachectl -v 或 httpd -v 和 密码

  可看到系统自带的版本信息:

 Server version: Apache/2.4. (Unix)
 Server built: Aug ::

下面是基本的命令:

// 启动Apache服务
sudo apachectl start // 重新启动Apache服务
sudo apachectl restart // 关闭Apache服务
sudo apachectl stop

配置Apache增加对PHP的支持

.编辑http.conf配置文件,终端如下:
sudo vim /etc/apache2/http.conf
.去掉以下部分的注释:
LoadModule php5_module libexec/apache2/libphp5.so(即去掉前面的#)
.重启Apache服务:
sudo apachectl restart

接下来,直接用浏览器打开http://localhost出现以下页面,即为配置成功

Mac下配置PHP+Apache+phpMyAdmin+MySql远程链接

现在可以自己写一个PHP文件,test1.php放在,/Library/WebServer/Documents下

Mac下配置PHP+Apache+phpMyAdmin+MySql远程链接

打开浏览器,http://localhost/test1.php

Mac下配置PHP+Apache+phpMyAdmin+MySql远程链接

phpMyAdmin:

下面配置phpMyAdmin,我暂时也不知道这东西有什么卵用,习惯了终端,当作MySQL-Front用?

http://www.phpmyadmin.net/home_page/downloads.php上下载最新版本

将解压得到的文件夹,重命名为phpmyadmin,移动到:

Mac下配置PHP+Apache+phpMyAdmin+MySql远程链接

在该文件夹下新建config.inc.php文件:

 <?php

 $i = 0;

 $i++;

 //下面不知有什么用。。
$cfg['Servers'][$i]['auth_type'] = 'cookie'; /* Server parameters */
//下面这句,经不完全测试,可有可无
$cfg['Servers'][$i]['host'] = '127.0.0.1'; $cfg['Servers'][$i]['connect_type'] = 'tcp'; $cfg['Servers'][$i]['compress'] = false; //如果想要无密码登陆,则将其中的下面语句中的false改成true
$cfg['Servers'][$i]['AllowNoPassword'] = false; //若为FALSE则在index.php页面没有服务器输入框,如果端口号不是默认的3306的话,则会提示无法登录MySQL服务器
$cfg['AllowArbitraryServer'] = true; ?>

现在就可以在浏览器中打开http://localhost/phpmyadmin/index.php

MySQL的帐号密码,服务器为127.0.0.1:端口号 直接登录

Mac下配置PHP+Apache+phpMyAdmin+MySql远程链接

下面再来一个PHP访问MySQL的小例子:

 <?php
echo "PHP连接MySQL测试</br>";
$mysql_server_name="127.0.0.1:3307"; //数据库服务器名称
$mysql_username="root"; // 连接数据库用户名
$mysql_password="950906"; // 连接数据库密码
$mysql_database="meal"; // 数据库的名字 // 连接到数据库
$conn=mysql_connect($mysql_server_name, $mysql_username,
$mysql_password); // 从表中提取信息的sql语句
$strsql="SELECT * FROM `address`";
// 执行sql查询
$result=mysql_db_query($mysql_database, $strsql, $conn);
// 获取查询结果
$row=mysql_fetch_row($result); echo '<font face="verdana">';
echo '<table border="1" cellpadding="1" cellspacing="2">'; // 显示字段名称
echo "</b><tr></b>";
for ($i=0; $i<mysql_num_fields($result); $i++)
{
echo '<td bgcolor="#000F00"><b>'.
mysql_field_name($result, $i);
echo "</b></td></b>";
}
echo "</tr></b>";
// 定位到第一条记录
mysql_data_seek($result, 0);
// 循环取出记录
while ($row=mysql_fetch_row($result))
{
echo "<tr></b>";
for ($i=0; $i<mysql_num_fields($result); $i++ )
{
echo '<td bgcolor="#00FF00">';
echo $row[$i];
echo '</td>';
}
echo "</tr></b>";
} echo "</table></b>";
echo "</font>";
// 释放资源
mysql_free_result($result);
// 关闭连接
mysql_close($conn);
?>

PHP页面效果:

Mac下配置PHP+Apache+phpMyAdmin+MySql远程链接

MySql远程连接:

现在,问题来了,实际开发当然是访问服务器的MySQL。

下面说说,设置MySQL的远程访问,以Windows Server 2012+MySQL-5.0.67为例:

Mac下配置PHP+Apache+phpMyAdmin+MySql远程链接

使用“GRANT ALL PRIVILEGES ON %s1.* TO %s2@'%s3' IDENTIFIED BY '%s4';”命令可以更改远程连接的设置
  其中 %s1 为 可远程连接的数据库名,若允许访问所有则为'*'
  %s2 为 供远程连接的用户名
  %s3 为 限制可连接该数据库的IP的地址,若不限制可为'%'
  %s4 为 供远程连接的密码
最后使用“flush privileges;”命令刷新刚才修改的权限,使其生效。

这样就可以通过phpMyAdmin来访问了,不过测试的MySQL版本过低,会出现:

Mac下配置PHP+Apache+phpMyAdmin+MySql远程链接