Warning: PHP Startup: Unable to load dynamic library 'php/ext\php_pgsql.dll' - %1 不是有效的 Win32 应用程序

php.ini中将extension=php_pgsql.dll前面的分号去掉,然后设置extension_dir指向php文件下的ext文件夹。

或者直接把./php/libpq.dll(php文件夹下的libpq.dll)和./php/ext/php_pgsql.dll(ext文件夹下的php_pgsql.dll)这两个dll文件复制到C盘system32下。

正常情况下这样php就可以连接postgres了,但是我的仍然出错,提示“Fatal error: Call to undefined function pg_connect()”,查看Apache的日志,“PHP Startup: Unable to load dynamic library '****\\PHP5\\ext\\php_pdo_pgsql.dll”。

经过查找,在Apache中conf文件夹下的配置文件httpd.conf中添加 LoadFile "***/PHP5/libpq.dll",位置在LoadModule后面即可。

注意ligpq.dll文件在postgres的bin目录下也有,不过不能替换php文件夹下面的这个文件,否则apache报错


另外今天学到一个查找安装php Apache的错误的方法,我运行apache的话,只能看到Missing extension for postgres ,call to undefined function pgconnect 这样子的错误,baidu遍了,没找到比较靠谱的东东(无奈google上不了啊),运行php.exe 的错误才是如题。进而搜到下面的这个文章。



原文链接:http://www.cnblogs.com/FlyFive/archive/2013/03/11/2954686.html

你可能感兴趣的:(Warning: PHP Startup: Unable to load dynamic library 'php/ext\php_pgsql.dll' - %1 不是有效的 Win32 应用程序)