最近业余开始学习PHP, 选择的IDE为Zend Studio 12,php版本是5.6.7,apache版本是24, 操作系统为win10。
需要注意,安装vc14必须开启这3个服务,否则一定会安装失败:
第一步安装PHP。
PHP官网下载PHP5.6.7压缩包,下载完成后解压,将以下2个路径设置环境变量(路径为解压后实际路径)
D:\DEVELOP\PHP\php-5.6.7-Win32-VC11-x64;
D:\DEVELOP\PHP\php-5.6.7-Win32-VC11-x64/ext;
第二步配置apache。
修改bin目录下的httpd.conf文件, 搜索listen,设置监听端口如下:
#Listen 12.34.56.78:80
Listen 127.0.0.1:8084
在httpd.conf文件最后添加以下内容:
# php5 support
LoadModule php5_module D:\DEVELOP\PHP\php-5.6.7-Win32-VC11-x64/php5apache2_4.dll
AddType application/x-httpd-php .php .html .htm
# configure the path to php.ini
PHPIniDir "D:\DEVELOP\PHP\php-5.6.7-Win32-VC11-x64"
添加后apache服务器可以支持PHP5。 其中的路径为PHP解压后实际路径。
2.配置php.ini。 打开php目录,复制1个php.ini-development ,修改为php.ini。
打开php.ini, 找到;extension_dir = "D:/Server/Php/ext" ,把前面的分号去掉。
(必须指定扩展路径,否则php7启动不了。一般开启ext扩展目录之后,就可以成功在命令行启动php7,如果仍然不成功,说明你的php路径没有添加到 环境变量中(或者你的环境变量有旧的php版本使用))
以管理员身份打开命令提示符cmd,执行以下2步:
D:\DEVELOP\PHP\Apache24\bin>httpd.exe -k install
D:\DEVELOP\PHP\Apache24\bin>httpd.exe -k startup
打开浏览器,访问127.0.0.1:8084, 出现"it works"界面, apache服务器配置成功。
第三步安装、配置zend studio,并运行一个新建工程。
1、安装完zend studio后,新建一个local php project,名为phptest,并新建一个文件hello.php。
2、进入Run Configurations ,配置PHP server 如下图示:
。
配置完成后,点击运行,显示找不到网页。
这个时候,重新打开apache的httpd.conf文件,搜索DocumentRoot,将其值修改为zend studio的工作空间,如下:
#DocumentRoot "D:\DEVELOP\PHP\Apache24/htdocs"
DocumentRoot "C:\LAN_WORK\php_workspace1"
此时再次右键点击hello.php,选择run as ->php web application, 运行成功,见下图:
说明:
在httpd.conf里直接修改DocumentRoot是一种简单粗暴的手段,不值得提倡。正确的做法应该是设置虚拟目录。作者尝试设置过,没有成功,网上的参考又多是Linux下的。由于目的是为了能让PHP程序跑起来,而不是去研究apache,目的已经达到,于是作罢了。后面有机会再研究吧。(其实并不会
php链接mysql:
连接到一个 MySQL 数据库
在您能够访问并处理数据库中的数据之前,您必须创建到达数据库的连接。
在 PHP 中,这个任务通过 mysql_connect() 函数完成。
语法
mysql_connect(servername,username,password);
参数
描述
servername
可选。规定要连接的服务器。默认是 "localhost:3306"。
username
可选。规定登录所使用的用户名。默认值是拥有服务器进程的用户的名称。
password
可选。规定登录所用的密码。默认是 ""。
注释:虽然还存在其他的参数,但上面列出了最重要的参数。请访问 W3School 提供的 PHP MySQL 参考手册,获得更多的细节信息。
例子
在下面的例子中,我们在一个变量中 ($con) 存放了在脚本中供稍后使用的连接。如果连接失败,将执行 "die" 部分:
$con = mysql_connect("localhost","peter","abc123");
if (!$con)
{
die('Could not connect: ' . mysql_error());
}
// some code
?>
关闭连接
脚本一结束,就会关闭连接。如需提前关闭连接,请使用 mysql_close() 函数。
$con = mysql_connect("localhost","peter","abc123");
if (!$con)
{
die('Could not connect: ' . mysql_error());
}
// some code
mysql_close($con);
?>
参考:http://www.w3school.com.cn/php/php_mysql_connect.asp
问题汇总:
1)
解决方法:
httpd.conf file is modified to add index.php and have it listed first.
DirectoryIndex index.php index.html 参考:
http://forums.zend.com/viewtopic.php?f=63&t=118068
2)
最大的可能性就是,您没有安装VC11运行库,因为现在所有的5.5环境都是基于vc11的编译脚本下生成的,所以在windows下你得安装相关组件msvcr110.dll,否则你双击php.exe测试的时候会报错,如果出现以下提示,那么恭喜您,问
3)mysql错误
3.1)undefined function mysql_connect()解决方法
原因:这是由于未正确配置php.ini文件造成的,在php的目录中,找到php.ini文件。用你喜欢的文本工具打开此文件,使用记事本也可以,这个工具电脑自带。下面以记事本为例说明。文件打开后,Ctrl+F,弹出查找对话框,输入"mysql",点击“查找下一个”,如下图,定位到以下行:
extension=php_mysql.dll
extension=php_mysqli.dll
extension=php_pdo_mysql.dll
如果你的ini文件未做过修改,每行前的开头会有一个分号,将其删除。
; On windows:
; extension_dir = "ext"
将extension_dir = "ext"前面的分号去掉。
继续查找“extension_dir”,注意搜索方向改为“向上”,找到如下行:
贴段php连接mysql的代码,以备测试
smeoaecho 'aaaaa啊';
// phpinfo();
$pdo = new PDO("mysql:host=localhost;dbname=php","root","root");
$pdo->query('set names utf8;');
if($pdo -> exec("insert into user(username,password) values('ti分tle','content')")){
echo "插入成功!";
echo $pdo -> lastinsertid();
}
$rs = $pdo -> query("select * from user");
while($row = $rs -> fetch()){
print_r($row);
}
?>