最近的项目是微信公众号平台的开发,微信官方给出的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.16 (Unix) Server built: Aug 22 2015 16:51:57
下面是基本的命令:
// 启动Apache服务 sudo apachectl start // 重新启动Apache服务 sudo apachectl restart // 关闭Apache服务 sudo apachectl stop
配置Apache增加对PHP的支持
1.编辑http.conf配置文件,终端如下: sudo vim /etc/apache2/http.conf 2.去掉以下部分的注释: LoadModule php5_module libexec/apache2/libphp5.so(即去掉前面的#) 3.重启Apache服务: sudo apachectl restart
接下来,直接用浏览器打开http://localhost出现以下页面,即为配置成功
现在可以自己写一个PHP文件,test1.php放在,/Library/WebServer/Documents下
打开浏览器,http://localhost/test1.php
phpMyAdmin:
下面配置phpMyAdmin,我暂时也不知道这东西有什么卵用,习惯了终端,当作MySQL-Front用?
在http://www.phpmyadmin.net/home_page/downloads.php上下载最新版本
将解压得到的文件夹,重命名为phpmyadmin,移动到:
在该文件夹下新建config.inc.php文件:
1 <?php 2 3 $i = 0; 4 5 $i++; 6 7 //下面不知有什么用。。 8 $cfg['Servers'][$i]['auth_type'] = 'cookie'; 9 10 /* Server parameters */ 11 //下面这句,经不完全测试,可有可无 12 $cfg['Servers'][$i]['host'] = '127.0.0.1'; 13 14 $cfg['Servers'][$i]['connect_type'] = 'tcp'; 15 16 $cfg['Servers'][$i]['compress'] = false; 17 18 //如果想要无密码登陆,则将其中的下面语句中的false改成true 19 $cfg['Servers'][$i]['AllowNoPassword'] = false; 20 21 //若为FALSE则在index.php页面没有服务器输入框,如果端口号不是默认的3306的话,则会提示无法登录MySQL服务器 22 $cfg['AllowArbitraryServer'] = true; 23 24 ?>
现在就可以在浏览器中打开http://localhost/phpmyadmin/index.php
MySQL的帐号密码,服务器为127.0.0.1:端口号 直接登录
下面再来一个PHP访问MySQL的小例子:
1 <?php 2 echo "PHP连接MySQL测试</br>"; 3 $mysql_server_name="127.0.0.1:3307"; //数据库服务器名称 4 $mysql_username="root"; // 连接数据库用户名 5 $mysql_password="950906"; // 连接数据库密码 6 $mysql_database="meal"; // 数据库的名字 7 8 // 连接到数据库 9 $conn=mysql_connect($mysql_server_name, $mysql_username, 10 $mysql_password); 11 12 // 从表中提取信息的sql语句 13 $strsql="SELECT * FROM `address`"; 14 // 执行sql查询 15 $result=mysql_db_query($mysql_database, $strsql, $conn); 16 // 获取查询结果 17 $row=mysql_fetch_row($result); 18 19 20 echo '<font face="verdana">'; 21 echo '<table border="1" cellpadding="1" cellspacing="2">'; 22 23 // 显示字段名称 24 echo "</b><tr></b>"; 25 for ($i=0; $i<mysql_num_fields($result); $i++) 26 { 27 echo '<td bgcolor="#000F00"><b>'. 28 mysql_field_name($result, $i); 29 echo "</b></td></b>"; 30 } 31 echo "</tr></b>"; 32 // 定位到第一条记录 33 mysql_data_seek($result, 0); 34 // 循环取出记录 35 while ($row=mysql_fetch_row($result)) 36 { 37 echo "<tr></b>"; 38 for ($i=0; $i<mysql_num_fields($result); $i++ ) 39 { 40 echo '<td bgcolor="#00FF00">'; 41 echo $row[$i]; 42 echo '</td>'; 43 } 44 echo "</tr></b>"; 45 } 46 47 echo "</table></b>"; 48 echo "</font>"; 49 // 释放资源 50 mysql_free_result($result); 51 // 关闭连接 52 mysql_close($conn); 53 ?>
PHP页面效果:
MySql远程连接:
现在,问题来了,实际开发当然是访问服务器的MySQL。
下面说说,设置MySQL的远程访问,以Windows Server 2012+MySQL-5.0.67为例:
使用“GRANT ALL PRIVILEGES ON %s1.* TO %s2@'%s3' IDENTIFIED BY '%s4';”命令可以更改远程连接的设置 其中 %s1 为 可远程连接的数据库名,若允许访问所有则为'*' %s2 为 供远程连接的用户名 %s3 为 限制可连接该数据库的IP的地址,若不限制可为'%' %s4 为 供远程连接的密码
最后使用“flush privileges;”命令刷新刚才修改的权限,使其生效。
这样就可以通过phpMyAdmin来访问了,不过测试的MySQL版本过低,会出现: