win2003 iis整合php后 环境变量无法读取到 |
普通状况下,都能实现显示phpinfo()的页面 。就从 可以显示该页面之后浮现的问题说起 。 php的问题都会显示在phpinfo()页面上 。 首先查看自己的php.ini的路径是不是正确 。 Q:我已经配置了php.ini文件,但再一次启动服务器后为何没有任何 动机? A:这个问题重要有这几种状况 。 第一个缘由是因为系统所读取的php.ini文件与你当时 批改的php.ini文件不 统一造成的 1、 可以通过phpinfo()的Configuration File (php.ini) Path选项查看目前PHP服务器读取的是哪一个php.ini 2、 假如你要更改php.ini的文件存取位置,可参考php.ini的查找顺序,如下所示: a) SAPI 模块所指定的位置(Apache 2 中的 PHPIniDir 指令,CGI 和 CLI 中的 -c 命令行选项,NSAPI 中的 php_ini 参数,THTTPD 中的 PHP_INI_PATH 环境变量) b) HKEY_LOCAL_MACHINE\SOFTWARE\PHP\IniFilePath(Windows 注册表位置) c) PHPRC 环境变量 d) 目前工作目录(关于 CLI) e) web 服务器目录(关于 SAPI 模块)或 PHP 所在目录(Windows 下其它状况) f) Windows 目录(C:\windows 或 C:\winnt),或 --with-config-file-path 编译时选项指定的位置 3、 普通做法:通过设置PHPRC 环境变量, a) 操作:右击我的电脑->属性->高级->环境变量 b) 在系统变量下新建一个“变量名为PHPRC ,变量值为你的php.ini文件所地文件路径”的环境变量 第二个缘由是:PHP没有找到相应的 扩大库 1、 查看PHP找到的 扩大库位置:在phpinfo()的extension_dir选项 可以看到 2、 在php.ini更改extension_dir文件 第三个缘由:没有 彻底重启IIS 1、 对php.ini的 批改必须 彻底重启IIS 威力起作用,而不能只不过对目前站点进行重启 。 2、 进入cmd, 停留服务器:net stop iisadmin;启动服务器:net start w3svc Q:我的PHP怎么没有 步骤激活MySql 扩大库 A:在PHP5.0以上版本,MySQL 默许未启用, 因此需求咱们进行手工激活 。 1、 在PHP运行MySql,必须在 php.ini 中激活 php_mysql.dll 动态衔接库,另外还需求 拜访 MySQL 客户端衔接库即libmysql.dll文件 2、 可以通过php.ini中的extension激活 php_mysql.dll 动态衔接库;而libmysql.dll文件必须放在Windows 的系统路径 PATH 威力 拜访, 可以通过把libmysql.dll复制到system32目录下,也 可以在PATH环境变量中新增一个路径 。 3、 提议做法:通过设置PATH,容易以后的php 晋级,在系统环境变量中的PATH后添加“libmysql.dll”所在的文件夹即可 。记得通过“;”号隔开 4、 [案例]近期,服务器总是找不到MySql 扩大库,招致程序 无奈运行 。 因此,把全部文件删除后再一次配置PHP服务器 。但最终在安装MySql的时候,却始终 无奈激活MySql 扩大库 。 在phpinfo()中找到的信息如下: PATH:c:\php PHPRC:C:\php extension_dir:c:\php\ext\ 另外,我测试了将其它的库激活,如msql、gd2、xml,在phpinfo()都 可以 畸形显示 证实PHP能找到php_mysql.dll 动态衔接库,而MySql的运行的另一个条件是 可以 询问MySQL 客户端衔接库即libmysql.dll文件,看来问题就在这里了 。 我对C盘查找libmysql.dll文件,发现在system32和php文件夹各有一个文件,做好备份后,我尝试删除system32的libmysql.dll文件,发现被锁死, 无奈删除,却 可以再一次命名,我 随便 批改了名称,再再一次启动IIS,服务器运行 畸形 。 补充丝毫:假如Configuration File (php.ini) Path 显示为C:\Windows 就 注明,php.ini文件没有读取到 。 另外,我发现,在用IIS整合php时,有两种 模式:ISAPI与CGI模式 这两种 模式,我们都 可以看到phpinfo页面 然而 使用ISAPI模式, 无奈读取环境变量,所以通过环境变量PHPRC设置的php.ini路径 无奈找到 。 使用CGI就 可以,这样就 毋庸把好多文件拷到系统文件下 。 |