安装 Apache、PHP 和 MySQL 后,我无法将扩展添加到 php.ini,否则会出现 Apache 错误

安装 Apache、PHP 和 MySQL 后,我无法将扩展添加到 php.ini,否则会出现 Apache 错误

我有 Windows XP 操作系统。

安装了 Apache 2.2.14,然后安装了 PHP 5.2.12(使用 phpinfo.php 测试 -> 成功!)然后我安装了 MySQL 5.1。现在,当我添加extension = php_mysql.dll到 php.ini 并重新启动服务器时,Apache 告诉我它无法启动(小窗口显示“请求的操作失败”)。即使我只添加extension = *smth*.dll---> 也一样。Apache 就是不喜欢我的扩展。如何向他证明它们很酷之类的?谢谢。

答案1

您的 php 扩展目录是否在 php.ini 中设置并指向正确的位置?您的 dll 是否位于指定的扩展目录中?

http://php.net/manual/en/install.windows.extensions.php

答案2

有时 Apache + PHP 不喜欢扩展的加载顺序。

尤其是放重新编码在前面。

例如,您要做的就是删除所有扩展,然后一次添加几个(或一次添加一个),然后检查 Apache 是否启动。找到崩溃的扩展后,添加其余的扩展,然后重新启动,最后将崩溃的扩展移到前面并重新启动。这至少是 FreeBSD 的一个问题,我怀疑它也一样。

这是我的服务器上的订单重新编码mysql你可以先尝试模仿

extension=recode.so
extension=fileinfo.so

extension=tidy.so
extension=tokenizer.so
extension=xmlreader.so
extension=xmlrpc.so
extension=bz2.so
extension=zip.so
extension=zlib.so
extension=mbstring.so
extension=mysql.so
extension=pcre.so
extension=simplexml.so
extension=spl.so
extension=mysqli.so
extension=gd.so
extension=pdf.so
extension=filter.so
extension=mcrypt.so
extension=openssl.so



extension=ctype.so
extension=session.so
extension=sqlite.so
##extension=ldap.so
extension=bcmath.so
extension=calendar.so
extension=curl.so
extension=dom.so
extension=exif.so
extension=ftp.so
extension=xml.so
extension=wddx.so
extension=gettext.so
extension=hash.so
extension=iconv.so

extension=imap.so
extension=json.so


extension=pdo.so
extension=pdo_sqlite.so
extension=posix.so
extension=pspell.so

extension=xmlwriter.so

答案3

  1. 确保您的 extension_dir 采用以下格式:

    extension_dir="DRIVE:/path/to/php"
    
  2. 确保extension=php_pdo.dll取消注释,然后立即加载 sqlite ext。顺序很重要。

    extension=php_pdo.dll
    ... < snip > ...
    extension=php_sqlite.dll
    

相关内容