fablefe 发表于 2015-11-17 12:17:39

PHP开发环境配置

php环境配置 php5 MySQL5 apache2 phpmyadmin ZendOptimizer安装与配置
php环境的配置,对于新手来说,绝对是一件烦事.总会遇到这样那样的问题,走很多弯路.
所以特意写了这个配置文档,相信按照以下步骤你一定会成功的.错误的地方也希望各位指正.
更多文章 php爱好者站http://www.phpfans.net

本例是在wiondws XP下
php5.2.1(zip)
apache2.2.4
MySQL5.0.37
phpmyadmin2.10.0.2
ZendOptimizer-3.2.6
的安装与配置
以上资源直接点击下载.也可以在本站下载站http://www.phpfans.net/download.php下载

/*********************************************
*
* 作者:我不是鱼
* php爱好者站: http://www.phpfans.net
* Email: deng5765@163.com
* 博客:http://www.phpfans.net/space/?2
*
*********************************************/

Apache 的安装

1 点击apahce安装包


2 接受协议


3 下面3项前二项填写Localhost,第三项填写自己的邮箱地址即可
    apache 监听80端口.如果iis用了80端口,修改iis端口或者apache端口,以免冲突


4 这里默认的是 typical,点击next.


5 这里可用修改安装路径,注意安装路径不能含中文.


6 点击install开始安装


7 安装完成后在浏览器里打入http://localhost或者http://127.0.0.1
如果可以看到这个页面,证明apache安装成功,已经可以解释静态页面了


MySQL 的安装

1 点击MySQL安装包


2 默认是Typical,如果想修改安装路径的话也可以选择custom.
注意:安装mysql的路径中,不能含有中文!


3 点击intall开始安装


4 跳过注册


5 是否现在就配置 MySQL.也可以之后在开始菜单的configuration wizard进行配置.
这里是现在进行配置


6 选择Detailed Configuration(详细设置),点Next继续


7 下面这个选项是选择mysql应用于何种类型,第一种是开发服务器,
将只用尽量少的内存,第二种是普通WEB服务器,将使用中等数量内存,
最后一种是这台服务器上面只运行MySQL数据库,将占用全部的内存.
用户可根据自己的需求,选择选项.这里只选择开发服务器,点Next继续


8 下面是选择数据库用途,第一种是多功能用途,
将把数据库优化成很好的innodb(事务)存储类型和高效率的myisam(非事务)存储类型,
第二种是只用于事务处理类型,最好的优化innodb,但同时也支持myisam,只有myisam才支持全文索引
最后一种是简单的网络开发,适合于简单的应用,只有不支持事务的myisam类型是被支持的.
一般选择第一种多功能的.


9 下面是选择InnodDB的数据存放位置,一般默认好了,不需要改动
   (如果要修改数据保存路径,也可用在安装后修改my.ini的datadir的值)


10 下面是选择MySQL允许的最大连接数,第一种是最大20个连接并发数,
第二种是最大500个并发连接数,最后一种是自定义,你可以根据自己的需要选择.
这里选择第一个


11 下面是是否运行网络链接.这里选择复选框.数据库监听的端口,一般默认是3306,
如果改成其他端口,以后连接数据库的时候都要记住修改的端口,否则不能连接mysql数据库,
比较麻烦,这里不做修改,用mysq的默认端口:3306


12 这一步设置mysql的默认编码,默认是latin1,也是标准的编码.第二种是UTF8,第三种是手动设置.
编码是版本4.1以上引入的.如果要用原来数据库的数据,最好能确定原来数据库用的是什么编码,如果这里设置的编码
和原来数据库数据的编码不一致,在使用的时候可能会出现乱码.建议使用latin1标准编码


当然我们有需要的话,也可以修改它的编码(不建议).


13 这一步是是否要把mysql设置成windows的服务,一般选择设成服务,
这样以后就可以通过服务中启动和关闭mysql数据库了.推荐:下面的复选框也勾选上,
这样,在cmd模式下,不必非到mysql的bin目录下执行命令.在命令行下咨询可以执行文件


14 这一步是设置mysql的超级用户密码,这个超级用户非常重要,
对mysql拥有全部的权限,请设置好并牢记超级用户的密码,
下面有个复选框是表示创建一个匿名账号,这会使数据库系统不安全.
如果有这个需求,也请勾选.


15 点击 Execute进行安装


16 点击finish完成安装


17 我们可以开始使用mysql了,打开开始菜单所有程序的mysql Command line Client,输入密码
出现这个界面说明mysql已经安装好了


可能出现的问题:

如果在第15步,出现下图提示

是因为你之前装过mysql.卸载时还保留了一些配置文件.

点击retry看看是否可以通过。否则点击 cancel退出.然后点击开始菜单的 MySQL Server Instance Config Wizard
重新配置 mysql

重复之前的操作.第14步将会出现界面是像下面这样

有三个输入密码的地方,你原来装过mysql.
你在第一个文本框输入原来root的密码,后面两个文本框输入root的新密码就可以了

如果还是不行那就重装一次MySQL。
重装注意事项:最好删除原来的所有文件,必要的话,可以清一下注册表,
如果你机器上没有其它mysql相关的程序.而且一定记得不要保留原有的my.ini文件.
还有就是删除原来安装路径下的文件,并删除数据目录下面的ibdata1文件.

更多文章 php爱好者站http://www.phpfans.net

PHP 的安装

由于php是一个zip文件(非install版),安装较为简单
解压就行.把解压的 php-5.2.1-Win32重命名为 php5.并复制到C盘目录下.即安装路径为c:\php5

1找到php目录下的 php.ini.recommended (或者php.ini-dist)文件,重命名为php.ini
并复制到系统盘的windows目录下(以c:\windows为例).

2再把php目录下的php5ts.dll,libmysql.dll,libmcrypt.dll复制到目录c:\windows\system32下.

3把php5\ext目录下的php_gd2.dll,php_mysql.dll,php_mbstring.dll文件复制到c:\windows\system32下
注意:不要把 php_mysql.dll和 php_mssql.dll混淆如果没有加载 php_gd2.dllphp将不能处理图像.没有加载php_mysql.dllphp将不支持mysql函数库php_mbstring.dll在后面使用phpmyadmin时支持宽字符
更多文章 php爱好者站http://www.phpfans.net
ZendOptimizer 的安装

Zend Optimizer用优化代码的方法来提高PHP应用程序的执行速度。执行使用Zend Optimizer的PHP程序比不使用的要快40%到100%。而且一些用ZendSafeGuard 加密过的文件,必须装了Zend Optimizer才可以运行.
注意:Zend Optimizer的安装与否并不影响php正常运行,如果你觉得麻烦,这步可以省去。

1 点击安装Zend Optimizer

2 接受协议,点击next


3 选定安装路径


4 选定apache本版,我们用的是apache2.2.4,所以这里选apache2.x


5 选定 php.ini的位置.我们的是在 C:\WINDOWS\下

6 选定apache安装路径.我们的是C:\Program Files\Apache SoftwareFoundation\Apache2.2 .所以要修改过来


7 点击install进行安装


8 点击是.安装程序自动完成配置和服务器重启.


9 点击Finish 完成安装,所有东西安装完成后我们再进行配置。
配置php并关联MySQL
打开c:\windows\php.ini文件
==============================

1 设置扩展路径
查找 extension_dir有这么一行
extension_dir = "./"
将此行改成
extension_dir = "C:/php5/ext" (要用/斜杠而不是\斜杠)
其中C:/php5是你安装php的路径.路径不正确将无法加载dll
(注意:有些php版本是 ;extension_dir = "./"要把前面的分号去掉)

2 分别查找
;extension=php_mbstring.dll
;extension=php_gd2.dll
;extension=php_mysql.dll
把上面3项前面的分号去掉,这样apache启动时就可以加载这些dll了
注意不要把 ;extension=php_mysql.dl和 ;extension=php_mssql.dl混淆
当然前面我们也把这些dll复制到system32下了.(大家在安装的过程中都注意到如何把一些dll加载入来了.
以后要加载一些dll,比如说php_mysqli.dll,也就懂得怎么加载了)

3 设置会话保存路径
查找session.save_path有这么一行
;   session.save_path = "N;/path"
在此行后加入一行(注意是加入一行,不是加到后面)
session.save_path = "C:/ WINDOWS /Temp"
保存到你的临时目录下,这里完全可以保存到windows临时目录Temp下

4 还有比较值得注意的是 short_open_tag .有一些php版本默认是Off的.
也就是说 php不能使用短标记如 <? ?>必须使用<?php ?>
由于短标记使用方便,并且很多程序也是用短短标记来写,如discuz等
如果不把 short_open_tag改成On将出现的症状将很难判断是上面原因,这里建议修改
查找
short_open_tag = Off
改为
short_open_tag = On

5 是否显示错误 display_errors
出于安全性考虑,display_errors有些版本也默认为 Off.
就是说在调试时,如果php代码有误,就只出现一个空白页.而不会显示出错原因和出错行数.
这样调试起来将非常不便,建议根据自己需要修改
查找
display_errors = Off         (注意不是 ; - display_errors = Off         )
改成
display_errors = On

6 显示NOTICE敬告提示
第五步虽然打开了出错提示,但出错报告还受到 error_reporting的控制.
php5默认关闭NOTICE敬告提示,如果是在本地调试,建议打开NOTICE敬告提示.
查找
error_reporting=E_ALL & ~E_NOTICE
改成
error_reporting=E_ALL

另外提示一下,在程序中也可以通过error_reporting()控制错误报告输出,具体怎么用大家参考下手册.

7 register_globals
出于安全性考虑它默认也是Off
当register_globals=Off的时候,下一个程序接收的时候应该用$_POST['user_name']和$_POST['user_pass'])
当register_globals=On的时候,下一个程序可以直接使用$user_name和$user_pass来接受值.
更详细的说明请参考
http://www.phpfans.net/bbs/archiver/?tid-234.htm
建议根据自己需要修改 .这里不建议修改,毕竟存在安全隐患.

8 php5时差问题
<?php echo date(&quot;Y-m-d H:i:s&quot;);?>时间相差八小时
为什么呢?PHP5系列版本新增了时区设置,默认为格林威治时间,与中国所在的东8区正好相差8个小时
查找date.timezone有这么一行
;date.timezone =
将;去掉,改成
date.timezone = PRC
其中PRC:People's Republic of China中华人民共和国,
更详细解决方法请参考本论坛的
http://www.phpfans.net/bbs/archiver/?tid-60.html

关于文件上传要注意的配置请参考本论坛的
http://www.phpfans.net/bbs/viewthread.php?tid=1663&extra=page%3D1
更多文章 php爱好者站http://www.phpfans.net

Apache整合PHP

1 从开始菜单打开apache配置文档,如图

2 修改网站根目录
查找DocumentRoot有这么一行
DocumentRoot &quot;C:/Program Files/Apache Software Foundation/Apache2.2/htdocs&quot;
这就是你网站的根目录,你可以修改,也可以用默认的.如果改,还要修改下面这项,否则可能会出现403 错误
查找This should be changed to whatever you set DocumentRoot to
在它下面两行有
<Directory &quot;C:/Program Files/Apache Software Foundation/Apache2.2/htdocs&quot;>
把上面两项的 C:/Program Files/Apache Group/Apache2/htdocs改成你想要的目录

3 查找DirectoryIndex index.html
修改成
DirectoryIndex index.html index.html.var index.php
这样index.php可以充当默认页面了

4 Apache中模块化安装php
查找 # LoadModule foo_module modules/mod_foo.so
在此行后加入一行
LoadModule php5_module C:/php5/php5apache2_2.dll
(其中C:/php5/php5apache2_2.dll是你安装php的相应路径.
注意不要把php5apache2_2.dll,php5apache2.dll和php5apache.dll混淆.php5apache.dll只适用于apache版本1的.
PHP5压缩包里的php5apache2.dll只适用于apache2.0.*版本,如果是2.2.*以上版本,必须使用php5apache2_2.dll.否则就可能会出现
&quot;Cannot load C:/php/php5apache2.dll into server: The specified module could not be found.&quot;
或者:
&quot;The requested operation has failed&quot;
的情况.关于这个问题的解决方法可以参考本论坛的
http://www.phpfans.net/bbs/viewt ... &extra=page%3D1
不过php5apache2_2.dll出来之后也就没有多少参考价值了)

5 查找 AddType application/x-gzip .gz .tgz
在此行后加入一行
AddType application/x-httpd-php .php
这样apache就可以解释php文件了
到这里配置基本完成了

########重启apache.如图,点击restart#########

在网站根目录下创建一个 phpinfo.php文件

<?php
phpinfo();
?>

在浏览器打开
http://localhost/phpinfo.php
如果出现如下信息,则说明php已经配置好了


下面再测试php和mysql数据库的关联
在网站根目录下创建一个test.php文件
<?php
$host = &quot;localhost&quot;;
$user = &quot;root&quot;;
$password = &quot;12345&quot;;//12345改成你的mysql密码
$link=mysql_connect($host,$user,$password);
if(!$link) echo &quot;<h1>失败!</h1>&quot;;
else echo &quot;<h1>成功!</h1>&quot;;
mysql_close();
?>

在浏览器打开 http://localhost/test.php,如果输出成功,则说明大功告成了。



更多文章 php爱好者站http://www.phpfans.net
==============================
安装 phpMyAdmin
下载得到 phpMyAdmin-2.10.0.2-all-languages.zip,将其解压到你网站根目录下并重命名为phpMyAdmin,
找到并打开 libraries/config.default.php (有些版本是当前目录的 config.inc.php或者 config.defaut.php)
做以下修改:
1 查找 password 有如下两行
$cfg['Servers'][$i]['user']          = 'root';   
$cfg['Servers'][$i]['password']      = '';
把你的mysql密码填到$cfg['Servers'][$i]['password']      = '';单引号里边

2 搜索 $cfg['PmaAbsoluteUri'],将其后面单引号里的值设置为 phpMyAdmin目录路径,如:http://localhost/phpMyAdmin/;

3 搜索 $cfg['DefaultLang'],将其后面单引号里的值设置为 zh-gb2312 ;
下面这项根据自己需要的编码修改(如果对数据库编码不是很熟悉的建议不要修改)

4 搜索 $cfg['DefaultCharset'],将其设置为自己所要的编码,如gb2312,确定Apache和MySQL服务均已启动,打开浏览器输入:http://localhost/phpMyAdmin/
如果出现如下页面则phpmyadmin安装完成并可以使用了


phpMyAdmin 的具体功能,请慢慢熟悉,这里不再赘述.更多文章php爱好者站 http://www.phpfans.net
终于完了,希望对大家有用,谢谢.

MySQL忘记密码解决方案
  本文主要介绍的是忘记MySQL数据库密码的实际解决方案,如果在实际操作中你不小心忘记MySQL数据库密码可以说是一件十分麻烦的事情,以下的文章就是对一麻烦事的破解,以下就是文章的主要内容描述。
  破解本地MySQL数据库密码:
  Windows:
  1.用系统管理员登陆系统。
  2.停止MySQL的服务。net stop mysql
  3.进入命令窗口,然后进入mysql安装目录下的bin文件夹,比如我的安装目录是c:\mysql,进入C:\mysql\bin
  4.跳过权限检查启动MySQL,在命令窗口输入:c:\mysql\bin>mysqld-nt --skip-grant-tables,
  或者:c:\mysql\bin>mysqld ––skip-grant-tables
  mysqld.exe是微软Windows MySQL server数据库服务器相关程序。mysqld-nt.exe是MySQLDaemon数据库服务相关程序。
  5.[未验证]
  重新打开一个窗口
  进入c:\mysql\bin目录,设置root的新MySQL数据库密码
  c:\mysql\bin>mysqladmin -u root flush-privileges password &quot;newpassword&quot;
  c:\mysql\bin>mysqladmin -u root -p shutdown
  将newpassword替换为你要用的root的密码,第二个命令会提示你输入新密码,重复第一个命令输入的密码。
  5.[验证]或则:
  重新开打一个命令提示符的窗口(CMD)
  用空MySQL数据库密码方式使用root用户登录 MySQL;
  mysql -u root
  修改root用户的密码;
  mysql> update mysql.user set password=PASSWORD('新密码') where User='root';   
  mysql> flush privileges;   
  mysql> quit[注:一定要输入分号,否则提示错误。]
  6.停止MySQL Server,用正常模式启动Mysql
  7.你可以用新的密码链接到Mysql了。
  Unix&Linux:
  1.用root或者运行mysqld的用户登录系统;
  2.利用kill命令结束掉mysqld的进程;
  3.使用–skip-grant-tables参数启动MySQL Server
  shell>mysqld_safe –skip-grant-tables &
  4.为设置新MySQL数据库密码
  shell>mysqladmin -u root flush-privileges password &quot;newpassword&quot;
  5.重启MySQL Server
  
  附录1:MySQL修改密码的方法大全:
  mysql> update user set Password=password('newpassword') where User='root';   
  MYSQLADMIN -u root -p PASSWORD mypasswd   
  可以修改MYSQL文件夹中的MY.INI文件
  mysql> SET PASSWORD FOR myuser@localhost = PASSWORD('mypasswd');   
  mysql> GRANT USAGE ON *.* TO myuser@localhost IDENTIFIED BY 'mypassword';   
  
  附录2:如何安装Apache服务
  有时安装完Apache2.2后发现并没有安装相应服务,使得http://localhost时运行不正确,这时可以启动CMD窗口,定位到Apache安装目录下的Bin文件夹下,输入以下命令:
  httpd.exe -k install -n apache2运行后将会安装名为apache2的系统服务,然后运行即可。
  
  附录3:Apache提示therequested operation has failed的解决方法
  原因一:80端口占用
  例如IIS,另外就是迅雷。如果80端口被占用,安装Apache的过程中,可能不能成功安装Apache的Servcie。如果不能正确安装ApacheService,那么执行Start或Restart等命令时,会报如“找不到Apache2的Service”的错误,然后执行失败。这样的话,修改了httpd.conf文件,将端口改为其它值(如8080)也无法正确启动Apache服务。
  在这样的情况下,可以在修改httpd.conf文件后,再执行Apache安装文件,然后选择修复功能。如果httpd.conf修改正确,修改完成后,ApacheService就会被正确安装,Apahce Http Server就能正常启动了。
  总结:
  1、安装Apahce;可以在安装时选择为8080端口。
  2、修改httpd.conf,将端口改为其它未被占用的端口号;
  3、重新运行Apache安装文件,选择修复功能执行。
  当然,这里还有一种有效的办法,不仅可以不用更改默认的端口号,还能找到抢占端口的“凶手”是谁。
  1、开始->运行->cmd,输入netstat -o –an。例:C:\Documentsand Settings\admin>netstat -o -an
  
  Active Connections
  ProtoLocal Address          Foreign Address      State         PID
  TCP    0.0.0.0:80             0.0.0.0:0            LISTENING       3768
  TCP    0.0.0.0:81             0.0.0.0:0            LISTENING       3576
  TCP    0.0.0.0:135            0.0.0.0:0            LISTENING       828
  TCP    192.168.1.161:139      0.0.0.0:0            LISTENING       4
   ...
  2、注意pid,打开windows任务管理器,查看->选择列勾选pid;
  3、这是可以看到那个进程,找到那个进程占用了80端口的pid,解决之,apache优先的话直接结束任务。
  
  原因二:软件冲突
  装了某些软件会使apache无法启动如Dr.com你打开网络连接->TcpIp属性->高级->WINS标签把netbios的lmhosts对勾去掉,禁用tcp/ip的netbios.然后再启动应该就可以了。
  
  原因三:httpd.conf配置错误
  如果apache的配置文件httpd.conf搞错了,在windows里启动它,会提示therequested operation has failed,这是比较郁闷的事,因为查错要看个半天。
  其实可以用命令行模式启动apache,并带上参数,apache会提示你哪句有误,然后就可以针对性的解决,命令如下:运行-》cmd 进入到apache的bin目录,输入
  httpd.exe -w -n &quot;Apache&quot; -k start
  [ 注:命令里的&quot;Apache&quot;是系统服务里apache服务的名称。及时换成你的。]
  
  原因四:即使你这次启动了,下次却启动失败。
  这样的话可以在运行里输入:netsh winsock reset
  一会儿cmd会提示你重启,不用理会,现在APACHE已经可以启动了。
  其实就是一个winsock的修复
  
  附录4:删除和添加系统服务
  在Windows XP系统的“服务”窗口中并不能添加或删除服务,常用的方法有以下几种:
  一、删除服务
  办法1:用sc.exe这个Windows命令         
  开始——运行——cmd.exe,然后输入sc就可以看到了。使用办法很简单:
               sc delete &quot;服务名&quot;       (如果服务名中间有空格,就需要前后加引号),服务名称可以在服务的属性里找到,不要将服务名称误认为显示名称。
               如针对上面的: sc delete KSD2Service
  方法2:直接进行注册表编辑
           打开注册表编辑器,找到下面的键值:
           HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services      一般服务会以相同的名字在这里显示一个主健,直接删除相关的键值便可。
  方法3、特殊情况
            1、如果服务显示的是rundll32.exe,并且这个文件是位于system32目录下,那么就不能删除这个rundll32.exe文件,它是Windows系统的文件。这时只要清除相关的服务就可以了
           2、如果一个服务删除了马上又自动建立了,说明后台有进程在监视、保护。需要先在进程管理器中杀掉相应的进程,或者启动后按F8,到安全模式下删除。
  二、添加服务
  在Windows XP系统的“服务”窗口中并不能添加或删除服务,常用的方法有以下几种:
   方法1:修改注册表
   在“开始→运行”中键入“regedit.exe”,打开“注册表编辑器”,展开分支“HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services”,在右侧窗格中显示的就是本机安装的服务项。
   如果要新建服务,只须点击“编辑→新建→项”,然后为此项命名,如“test”;然后右击该项,选择“新建→字符串值”或“新建→DWORD值”即可。添加一个服务项目具体需要添加的键值如下:
    “DisplayName”,字符串值,对应服务名称;
    “Descrīption”,字符串值,对应服务描述;
    “ImagePath”,字符串值,对应该服务程序所在的路径;
    “ObjectName”,字符串值,值为“LocalSystem”,表示本地登录;
    “ErrorControl”,DWORD值,值为“1”;
    “Start”,DWORD值,值为2表示自动运行,值为3表示手动运行,值为4表示禁止;
    “Type”,DWORD值,应用程序对应10,其他对应20。
    另外,还要在“test”项下新建一个“Enum”项。按照以上步骤添加QQ程序为服务,重新启动计算机后,打开“服务”窗口,就可以看到刚才添加的QQ服务
  [ 注:如果要删除某项服务,只要删除注册表的中相关键值即可,本例中要删除QQ服务,直接删除“HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\test”分支即可。]
    方法2:利用第三方工具
    App To Service V2.7是一种带命令行界面的小程序,下载地址是:http://www.skycn.com/soft/6397.html。它也可以用来添加、删改系统服务,具体方法如下:
  1.       添加服务:按回车键,键入如下命令:AppToService/Install程序的路径及名称,然后再次回车确认即可。
  2.       删除服务:输入命令:AppToService/Remove当前已存在的某个服务名称
  3.       删除全部AppToService服务:输入命令:AppToService/RemoveAll
  4.       启动全部AppToService服务:输入命令:AppToService/StartAll
  5.       停止全部AppToService服务:输入命令:AppToService/StopAll
  [ 注意:这里AppToService服务指的是所有通过AppToService添加的服务,不是指系统原有服务。]
页: [1]
查看完整版本: PHP开发环境配置