搭建PHP的开发环境
时间: 8.1日
要求:
手动安装php环境(集成环境不算, 仅winow下即可, linux作参考, 但题linux下也可出).
包括mysql+php+apache+phpadmin, 版本不限. 要求能进行web测试。
安装开发IDE,包括(zend 5+ editplus+emeditor+dreamweaver)
手册:
http://www.php.net/manual/zh/install.windows.php
http://www.php.net/manual/zh/install.windows.apache2.php
http://www.php.net/manual/zh/install.windows.extensions.php
参考内容:
http://www.php.net/manual/zh/install.unix.php
http://www.php.net/manual/zh/install.pecl.php
关注内容:phpinfo, 安装成功不成功, 主要看这个!
======================================
1、apache、mysql、php的windows下的安装顺序
答:apache、mysql要在php前安装,apache和mysql的安装顺序随意
2、开启了php_curl扩展,为什么还会提示没有开启curl服务呢,怎么解决?
答:把PHP目录中的libeay32.dll, ssleay32.dll, php5ts.dll, php_curl.dll文件到system32 目录下后,重启apache
3、在windows下使php工作于apache2.x之中的三种方法?
答:handler、cgi、fastcgi
注:一般模块安装为 handler
========================================
1、当配置好apache php 后在浏览器上输入http://localhost 页面没有相应 是因为没有配置默认页面DirectoryIndex
2、下载 PHP 包时会有这样的问题在下载的PHP 包里没有php5apache2_2.dll扩展,是因为下载包时有两种
3、apache PHP 配置时一般会加上两句话
LoadModule php5_module E:/PHP/php-5.2.10/php5apache2_2.dll #PHP目录
AddType application/x-httpd-php .php #执行php的文件类型
但是总有时会报错 原因看看加的两段有没有多于空格,x-httpd-php后面有空格
==============================================
1.windows下安装环境时,php与apache结合配置时,修改了php与apache的配置文件,重启apache,出现” the requested operation has failed” 如何解决?
答:出现上述错误,无法确定是哪个出问题,可以利用doc命令找出错误原因,首先需进入apache所在目录,然后敲入命令:httpd.exe -w -n "Apache2.2" -k start
下面会有详细信息说明。
需要注意:保证php目录下面 php5_apache2_2.dll文件存在;
在配置apache时注意引入此文件,并指定到正确目录下;
在编辑apache配置时注意空格问题,如果有多余空格,可能会引起错误;
批注:感觉你的问你是php 跟apache 压根就没有建立联系,不怎么清楚
2.windows下安装php+apache+mysql开发环境,如何配置服务器仅处理get和post请求?
答:配置apache的配置文件如下:
Deny from all
批注:这个没找到
3.myql安装完成,出现不能“Start service”,这是为什么?
答:
<1.出现在以前有安装mysql的服务器上,解决的办法,先保证以前安装的mysql服务器彻底卸载掉了;
<2.检查是否按上面一 步所说,之前的密码是否有修改,如果是重装,并且之前已经设置了密码,在这里更改密码可能会出错,请留空,并将“Modify Security Settings”前面的勾去掉,安装配置完成后另行修改密码;
<3.将mysql安装目录下的data文件夹备份,然后删除,在安装完成后,将安装生成的 data文件夹删除,备份的data文件夹移回来,再重启mysql服务就可以了,这种情况下,可能需要把之前数据库备份;
批注:不知道说得对不对,听着好像是已经装过mysql 但是再装一个就会冲突
==========================================
1,加入调试代码
建立一个debug.php文件。里面可以加入$_GET,$_POST等值。然后在php.ini中设置:include_path = "c:/php",并将debug.php放在此文件夹。
如果想添加公共头尾文件一样可以:
在ini中找到 Automatically add files before or after any PHP document.
auto_prepend_file = auto_prepend_file.php; //依附在头部
auto_append_file = auto_append_file.php; //依附在尾部
2,如何使Html/PHP格式的字符串不被解释,而是照原样显示
例子:
PHP";
代码如下 | 复制代码 |
Echo "被解释过的: ".$str."经过处理的:"; Echo htmlentities(nl2br($str)); //两次转换后输出。 ?> |
3,如何配置GD库
1:拷贝dlls文件夹里所有dll文件到system32目录下c:windowssystem32
2:打开php.ini
设置extension_dir = "c:/php/extensions/";
3:extension=php_gd2.dll;把extension前面的逗号去掉,如果没有php_gd2.dll,php_gd.dll也一样,保证确实存在这个文件c:/php/extensions/php_gd2.dll
注: 一般用环境变量, 不需要把dlls文件夹考到c:windowssystem32
===================================================锫奕
1,在判断$_POST全局变量是否有传递过来的参数时,用if可以吗?
答:建议用isset(),if属于判断语句,其里面的变量必须是已经被定义过的,所以不能用if。
批注: 全局变量也称为外部变量,它是在函数外部定义的变量。
注: isset() 判断变量有无声明, 然后再判断其他。如果懒,可以用empty()
$_POST 是全局变量,那就说明它已经是定义过的,所以能用
2,form表单提交时,提交的什么内容?
答:在提交时,提交的是标签的name和value属性,其中name作为键值,value作为数组元素,如果标签没有name属性,那么就不会提交。
批注:我不知道你的提交是指什么,但是我知道如果有提交地址他会找到那个地址,提交后的那个值是空的。是这意思吗?
注: 表单提交时, 如果是get, 就是get, 如果是post, 有编码方式的区别!可以注意一下!另外, 有的最然有name, 但无值时, 用 isset()取不到真。
3,什么是会话?
答:当一个用户访问一个网站时就会建立一个会话,与服务器进行交流,当整个网站的所有页面都被关闭时,会话结束,session也被释放了。
批注: 就WEB开发来说,一个会话就是你通过浏览器与服务器之间的一次通话,只不过这种通话是以用浏览器浏览的方式来实现的
这是我百度的 ,不知道对不,我也不怎么懂。但是看上去像那回事,tom讲解
注:会话是浏览器和服务器间保持的一个会话, 会话不是全局级的, 是用户全局级的。一般情况下,这种会是浏览器生命周期, 浏览器关闭, 会话结束! 当然这个也可以配置。见php.ini中的session部分。 当你新打开一个窗口时, 会启动一个新会话,但你从一个旧窗口中打开新窗口, 不会生成新会话(可测一下)。
=======================================================
1.局域网内两台机器apache 可不可以互相访问
可以
修改httpd.conf的配置就可以了。
加入ip是192.168.0.1(这是一个局域网内网ip)
修改Listen的配置为
Listen 192.168.0.1:80 然后重启apache
另外:第一,服务器的防火墙要关,如果你是用xp系统的话,系统自带的防火墙一定要关。
第二,配置问题
代码如下 | 复制代码 |
Order allow,deny Allow from all |
批注: 1. 加入ip是192.168.0.1(这是一个局域网内网ip) 这个应该是在 WindowsSystem32driversetchosts 中加吗?
Tom注:域名配置只是将本机的域名指向哪个IP, 但访问时,也会反host名带过去!
服务器需要配置虚拟主机监控这个IP, 根据host名设分流, 才能访问。
2. 为什么要修改这个 Listen的配置
注: 表示服务器监听哪个端口
2.php扩展库出ext外还有其他的吗?比如说连接mysql外的数据库的dll,该去哪找?
有很多扩展库,例如curl等,也可以自己写。php_dba.dll和php_oci8.dll应该是php自带的,常用的应该都在php/ext中。
注: window下的dll库,除了自带的外,其他需外他人或自已编译dll. 手册上有如何编译的方法。
3.php怎么发布一个完整的网站项目(windows/linux/unix),直接放在www目录下就可以了吗
答案(网上查的)
a. 代码仓库直接发布
在服务器上 svn export ....
b. 如果服务器很多,
(1)在一台发布 服务器上 svn export ...
(2) 然后向别的服务器推送, rsync ....
批注: 看不懂
注: 只要能发上就行。
=======================================================
1、apache、mysql、php在windows下的过程
答:首先安装apache或mysql数据库,两个都安装成功后,最后安装php
2.安装完成后本地搭建链接在线项目,因数据库链接使用pdo,如何开启pdo扩展?
答:把PHP目录中的php_pdo.dll文件拷贝到system32 目录下,然后打开php.ini,找到extension=php_pdo.dll;把extension前面的分号去掉
3.如何在本地自定义域名访问本地项目,如在本地搭建分站项目
答:链接自定义,例如定义访问地址为:bendi.homelink.com.cn,打开目录:C:WINDOWSsystem32driversetc,找到hosts文件并打开,在末行加入127.0.0.1 bendi.homelink.com.cn,关闭保存!
之后打开httpd.conf进行编辑,加入:
代码如下 | 复制代码 |
NameVirtualHost *:80 ServerAdmin 邮箱地址 DocumentRoot 项目存放路径 ServerName bendi.homelink.com.cn |
加入后保存关闭,之后重启apache和浏览器就可以直接以自定义域名进行访问了