本人使用的是Apache+PHP+Mysql+phpMyAdmin黄金组合,因此以下就说一下学习php以来积累的一些服务器配置方面的应验:(本文以Apache+PHP+Mysql都安装在D盘为例)
一.Apache:
安装好你的Apache服务器以后,Apache已能正常工作,但是还不能处理PHP程序,需进一步配置Apache使能处理PHP程序。在Apache安装目录里找到文件httpd.conf,本实验中文件的全路径为d:\Apache\conf\httpd.conf,并用记事本打开httpd.conf,加上如下几句:
scriptalias /php4/ "D:/php/"
addtype application/x-httpd-php .php .php3
action application/x-httpd-php /php4/php.exe
注意各语句中的空格不能少,输入完之后保存文件。
要使上步中的配置生效,需要重新启动Apache,重启有多种方法,最简便的方法就是从开始菜单,如图13,也可以从运行栏里先运行命令net stop apache停止apache,再运行命令net start apache启动apache。如果启动不了,说明上步配置中有错误。
另外,介绍一个本机Apache服务器认证机制
1.首先在你的需要认证 机制的目录下边放一个名称为 .htaccess的文件,一般只有后缀的文件是不能建立的,您可以用一个非常优秀的程序编辑器Edit plus建立,假如你的apache安装在D:盘里,并且你的apache服务器 路径为:
D:\Apache\htdocs,那么这个.htaccess的文件里的 内容就为 :
AuthUserFile "D:\Apache\bin\pass.txt"
AuthName AnyName
AuthType basic
Require valid-user
2.然后,把它放到 任何一个D:\Apache\htdocs的一个 目录下边 ,然后在“开始”——“运行”里打入“cmd”, 然后在
C:\>d:
D:\>cd Apache
D:\Apache>cd bin
D:\Apache\bin>htpasswd.exe
会出现 下列信息: Usage: htpasswd [-cmdps] passwordfile username
htpasswd -b[cmdps] passwordfile username password
htpasswd -n[mdps] username
htpasswd -nb[mdps] username password
-c Create a new file.
-n Don't update file; display results on stdout.
-m Force MD5 encryption of the password (default).
-d Force CRYPT encryption of the password.
-p Do not encrypt the password (plaintext).
-s Force SHA encryption of the password.
-b Use the password from the command line rather than prompting for it. On Windows, TPF and NetWare systems the '-m' flag is used by default. On all other systems, the '-p' flag will probably not work.
3.然后是 : D:\Apache\bin>htpasswd -m pass.txt chai
New password: ******
Re-type new password: ******
Adding password for user chai
4.然后在D:\Apache\conf目 录下边找到httpd.conf这个文 件在这个文件里找到这样一个关键字“ AllowOverride”看后边的一个 单词是不是All,如果 是不是,就更改为All,然后重新启 动Apache服务器就可以了。然后你就可以在 你的浏览器 里打入你的服务器目录了 ,这样你的认证机制就实现了。
如果是想在自己 在 http上服务器的 数据库空间上,如果有一个数据库管理工具phpMyAdmin,则可以通过修改 phpMyAdmin下边的config.inc.php文件实现,具体的方法是:
在这个文件里找 到
$cfg['Servers'][$i]['auth_type'] = 'config'; // Authentication method (config, http or cookie based)?
然后把它修改为 :
$cfg['Servers'][$i]['auth_type'] = 'http'; // Authentication method (config, http or cookie based)?
这样你的数据库 就可以实现身份验证了。
二.PHP
一般情况下,php很好配置,就是在你的D:\php\php.ini文件有些需要注意的地方:
1.如果你的Mysql数据库没有问题,以前mysql中的很多数据都存在,但是不知道为什么就无法查询出来,并且无论如何也无法提交信息(在确保你的程序无误的情况下),你可以检查你的php.ini文件中的“register_globals =”看等号后边是什么?如果是Off,把它修改成On,默认register_globals是off,在这种情况下post模式不能用!只能用get模式提交表单!要把它改为on.
2.就是在一般的php版本中的 session默认的也是关闭的,所以呢就 应该在你安装的盘 中指定一个文件夹,命名为phpsession ,假如是在D盘,那么在你的 php.ini文件中就应该把第二个 session.save_path 设置为: session.save_path=D:/phpsession/ 这样你的session就打开了。
三.Mysql
1. 在你的mysql服务器配置好以后,你可以进入到D;\mysql\bin下,找到一个名为winmysqladmin.exe的东西,然后双击它,就会弹出一个让你设置mysql 数据库用户名和密码的对话框,默认的用户名是root,密码默认为空,可以在这里修改,然后你可以安装你的phpMyAdmin这个优秀的数据库管理软件,应该把phpMyAdmin放在你的根目录,即D:\Apahce\htdocs\下边,最好新建一个名称为phpmyadmin的文件夹,然后安装到phpmyadmin下边就可以了,不过这样你的phpmyadmin软件将出现,无效的用户名或密码。这时,你可以进入这个phpmyadmin目录下,找到你一个名为config.inc.php的文件,打开该文件~分别找到:
$cfg['Servers'][$i]['user'] = 'root'; //此处为数据库用户名
$cfg['Servers'][$i]['password'] = ''; //此处为数据库密码
(找到第一处,修改即可~!)
都要更改成你设置的用户名和密码,保存即可~!
2.但是有时候,比较高的mysql版本,会出现一些问题,那就是当你的phpmyadmin软件的用户名和密码与你的mysql数据库的用户名和密码一样时候,竟然也不能访问你的mysql数据库,这样你可以把你的config.inc.php文件里的按照原来的设置不变,即:
$cfg['Servers'][$i]['user'] = 'root';
$cfg['Servers'][$i]['password'] = '';
然后重新启动你的mysql数据库服务器,然后你就可以在你的IE浏览器的地址栏里输入http://127.0.0.1/phpmyadmin/index.php进入数据库了,然后找到mysql这个数据库,找里边的user表,然后点击中间靠上的“浏览”,找到"Host"为"local",“User”为“root”的一个,然后点击“编辑”,然后把“password”的“函数”选项设置为“PASSWORD”,然后的“值”项填写入你的mysql数据库密码,这样在重新启动你的mysql数据库服务器,这样你的的phpMyAdmin软件又恢复正常了。
3.另外,如果你的电脑重新安装系统,你就需要备份D:\Apache\htdocs下的所有东西和D:\mysql\data\下的所有东西,但是如果你重新安装系统之后,又重新配置了你的php服务器,并把以前的文件放进了对应的目录里边,数据库中的信息仍然存在,但是当你提交信息的时候老是出现错误,并且你显示“Table "test" is read only”,这样说明的你备份过来的数据库的文件是“只读”,需要进入到你的D:\mysql\data下找到你以前备份的数据库的文件夹点击右键的“属性”,看“属性”--“只读”前边的方框被选中没有如果是被被选中了,把它去掉,然后在进入这个文件夹下边把这个文件夹下的所有文件都的“属性”的“只读”一项去掉,只保留“存档”属性。然后重新启动你的apache和mysql服务器就可以了。
4.有时候你会发现你的mysql突然亮的不是绿灯了,而是红灯,在这种情况下,你可以把C:\winnt\下的my.ini删除,然后重新启动你的mysql服务器,然后进入到你的D:\mysql\bin\下找到winmysqladmin.exe,然后双击它,来重新设置mysql数据库用户名和密码。
5.如果是想在自己在http服务器上的数据库空间上,如果有一个数据库管理工具phpMyAdmin,则可以通过修改 phpMyAdmin下边的config.inc.php文件实现,具体的方法是:
在这个文件里找 到
$cfg['Servers'][$i]['auth_type'] = 'config'; // Authentication method (config, http or cookie based)?
然后把它修改为 :
$cfg['Servers'][$i]['auth_type'] = 'http'; // Authentication method (config, http or cookie based)?
这样你的数据库 就可以实现身份验证了。
6.数据库操作:从student表中查询所有记录并将查询结果输出到文件"result.txt"中,的操作语句是: select * into outfile "result.txt" from student;
7. 有时候sql语句不起作用,对数据库操作失败 最简便的 调试方法,echo那句sql,看看变量的值能得到不。
8. mysql查询语句包含有关键字 php查询mysql的时候,有时候mysql 表名或者列名会 有关键字这时候查询会有错误。例如表名是 order,查询时候会出错简 单的办 法是sql语句里表名或者列名加上`[tab键上面]来加以区别例如 select * from `order` 。