一、apache无法找到php模块
httpd.conf中,加入:
LoadModule php5_module E:/green/php-5.2.17-Win32-VC6-x86/php5apache2_2.dll #php安装路径
PhpINIDir E:/green/php-5.2.17-Win32-VC6-x86/php.ini#php配置文件路径
AddType application/x-httpd-php .php
AddType application/x-httpd-php .htm
二、PHP无法加载启动MySql模块
1. 问题的描述
今天php的mysql突然不好用了。先后提示下面的错误信息:
没有找到 libmysql.dll 因此这个应用程序未能启动 apache php
startup: Unable to load dynamic library : C:/ApacheGroup/php5/ext\php_mysql.dll
进而,在调用mysql函数的时候会出错:
Fatal error: Call to undefined function: mysql_connect()
产看了下我的系统,php.ini里面已经正确的配置了extension_dir:
extension_dir = "C:/ApacheGroup/php5/ext"
而且extension_dir里面也的确存在php_mysql.dll, 可为什么他偏偏挂不上去呢。
2. 问题的原因
google了一下发现原来:
要想Load "php_mysql.dll"这个dll, 必须要先Load “libmysql.dll”这个基础dll,
虽然前者在ext目录下,可以找到。
然后后者并没有在ext目录下(虽然即使他在也搞不定),也不一个系统能找到他的地方。
3. 所以解决办法有两种:
1. 将这些dll拷贝到windows下面。
2. 将php根目录加到path里面。
三、编码问题
编码涉及到很多方面:(1)客户端编码,如浏览器可以通过右键菜单选择;(2)数据库客户端和服务器端传送过程使用的编码;(3)服务器端数据库实际存储使用的编码;
要想简单处理这个过程,最方便的方法就是统一使用UTF8.
首先,所有的服务器端文件,如.html, .php必须使用UTF8编码保存,其次数据库客户端发送或接受数据之前通过set names utf8设置,服务器端建库时采用utf8编码。
人生苦短,没必要把精力放到繁杂的编码转换中去,除非你需要处理过去本身就有各种编码的系统。让我们拥抱UTF8吧!