刚把PHP开发环境完成的配置好,参考网上的一些资料,发现网上说的不完全对,还是要自己去亲自实践解决。下面就说下,自己遇到的问题和解决办法。有些网上都有的就不写了。
1. Apache设置:
1、在d盘(为装载了Apahe和Php5的磁盘)下新建目录d:webwww(当然,你可以随便建一个目录),用来存放php文件(尽量和Apache和Php5放在同一级目录下面).
2、在apache安装目录下找到conf文件夹,点击进入,找到httpd.conf文件
3、打开该文件,找到DocumentRoot(ServerName yueer:80)开头的一行文字,将引号里的目录改为你存放php文件的目录(d:/web/www),注意,这里所有的反斜杠()都要改为斜杠(/),因为它不支持()。修改后为DocumentRoot "D:/web/www"。
4、找到<Directory "……">(省略号代表目录)将引号里的目录修改成和上一步中的一样。
修改后为<Directory "D:/web/www">。
5、找到DirectoryIndex index.html这一行,在后面添加(有空格)index.php。
6、在文件的末尾添加下面文字
#用来加载php模块
LoadModule php5_module "D:/php5/php5apache2_2.dll"
#用于寻找php的php.ini文件
PHPIniDir "D:/php5"
#使apache支持php文件
AddType application/x-httpd-php .php
7、关闭保存修改即可完成apache的配置。
注意:这里加载模块的路径要和它的系统路径相同,D:/php5就是php5的安装目录,再次强调将系统路径中的()改为(/)。
【详细错误】:Apache is running a threaded MPM, but your php module is not compiled to be threadsafe. you need to recompile php. pre-configuration failed.
【造成原因】:服务管理器由IIS更换至Apache,原php版本是无线程安全(nts)的,因此需要将php同时更换为线程安全版本(ts).
【处理办法】:
1. 下载新的php5.2.17 VC6 x86 Thread Safe,更新原php程序,即可,(*^__^*) ~
2. PHP配置:
1、在Php5安装目录下找到php.ini-dist文件,将该文件改名为php.ini。
2、打开文件,找到doc_root 开头的一行,将后面的路径改为存放php文件的目录(如doc_root ="D:webwww")。
3、找到extension_dir开头的文字,将后面路径改为存放php扩展文件的路径(扩展文件在php5安装目录下的ext文件夹下,如extension_dir = " D:php5ext ")。
4、找到;extension=php_mysql.dll这一行,将前面的分号(;)去掉,使php5支持mysql。
3. Mysql设置:
要在命令提示符直接调用mysql:要先设置环境变量Path: C:Program FilesMySQLMySQL Server 5.1in;
在到开cmd,输入mysql –uroot –p 后输入密码,若出现如上图的Welcome to the mysql……表示mysql按转成功,若出现错误,重新检查自己的mysql安装)。
1)在mysql数据库中新建一个数据库mytest(名字可以自己取),在dos中如下操作:
配置问题:PHP连接MySQL报错:Fatal error: Call to undefined function mysql_connect()之解决方法
百度,google也找了好几个小时,最后才解决了。详细:其他php.in和apache的httpd.conf配置不用说了,
关键点1. 把php中的libmysql.dll文件复制到Apache的bin里面,一测试,居然好了。
关键点2:配合Apache2时最好使用PHPIniDir,即在apache2/conf/httpd.conf文件中加入:
# configure the path to php.ini "c:/php"是php.ini所在的文件路径
PHPIniDir " C:/php"
测试代码1:
<?php phpinfo(); ?>
测试代码2:
<?php $dbhost = 'localhost'; $dbuser = 'root'; //你的mysql用户名 $dbpass = 'cheng'; //你的mysql密码 $dbname = 'mytest'; //你的mysql库名 $connect = mysql_connect($dbhost,$dbuser,$dbpass); if ($connect) { echo "连接成功)"; } else { echo "连接失败"; } ?>