7

我安装了 apache2 和 php 5.4.5。

当你启动 apache 这个错误:

PHP 警告:PHP 启动:在第 0 行未知

扩展不起作用:

; extension = php_intl.dll
; extension = php_ldap.dll
; extension = php_oci8.dll
; extension = php_oci8_11g.dll
; extension = php_pdo_firebird.dll
; extension = php_pdo_oci.dll
; extension = php_pdo_pgsql.dll
; extension = php_pgsql.dll
; extension = php_pspell.dll
; extension = php_shmop.dll

也许更多。

扩展目录:extension_dir = "C:/dev/prog/php5/ext /"

Path: C: \ dev \ prog \ php5

php.ini is copied to C: \ WINDOWS \

ssleay32.dll php5ts.dll 并复制到 C:\WINDOWS\system32\

请简单说明。

4

10 回答 10

4

使用pecl 命令升级这些模块

另外,检查 php.ini 中的 extension_dir 指令

于 2012-08-15T10:20:19.267 回答
3

我有同样的问题。问题是,这些行默认在 php.ini 中

; On windows:
; extension_dir = "ext" 

我假设,只有取消注释第二行和 Apache 重启才能解决这个问题。但事实并非如此!

我必须输入 ext 文件夹的完整路径,如下所示:

extension_dir = "d:\php-5.4.32\ext"

执行此操作并重新启动 Apache Web 服务器后,问题就解决了。

于 2014-10-26T11:39:03.223 回答
2

我在 wampserver 论坛上的这篇文章中找到了这个答案,它对我有用:

单击您在 WAMPServer 菜单中使用的 Apache 版本,例如

wampmanager -> Apache -> 版本 -> 2.4.9 (只需点击此菜单项上的版本号)

这将为导致“in Unknown on line 0”错误的扩展重建符号链接。

WAMP 服务器菜单

RiggsFolly 在此线程中给出了答案:http: //forum.wampserver.com/read.php? 2,128734

于 2014-12-29T16:29:54.750 回答
2

您应该检查您的 php.ini 文件以确保正确设置了 extension_dir。当我启用这五个扩展时,我遇到了同样的问题:

extension=php_mbstring.dll
extension=php_exif.dll
extension=php_mysql.dll
extension=php_mysqli.dll
extension=php_curl.dll

警告的数量与启用的扩展相同。所以我想可能有某事。扩展设置错误。当我将 extension_dir 指令更改为正确的目录时,问题就解决了。

于 2013-08-06T14:12:57.323 回答
1

我在启用扩展时遇到了同样的问题(请参阅启用 PHP 扩展时出错)。

我解决了将 PHP 文件夹添加到路径并重新启动计算机的问题。

于 2013-01-26T20:16:57.857 回答
1
  1. 您需要下载并安装 Aspell for Windows “GNU Aspell-0.50.3 (win32)”。

http://aspell.net/win32/

http://ftp.gnu.org/gnu/aspell/w32/Aspel ... -Setup.exe

你的字典也在这里。Aspell 至少需要一个 Dictionary 才能运行。

或者

ftp://ftp.gnu.org/gnu/aspell/w32/

ftp://ftp.gnu.org/gnu/aspell/w32/Aspell ... -Setup.exe

ftp://ftp.gnu.org/gnu/aspell/w32/aspell-w32-0.50.3.zip

  1. Aspell 应该将“aspell-15.dll”复制到 php 扩展 php_pspell.dll 需要并寻找执行的“Windows/System32”目录。如果没有,则在 C:/Program Files/Aspell/bin/aspell-15.dll 中找到 aspell-15.dll 并将其复制到 C:/Windows/System 32/aspell-15.dll

  2. 您现在只需要在 xampp/apache/bin/php.ini ;extension=php_pspell.dll 中取消注释此行:extension=php_pspell.dll

  3. 重启阿帕奇。(如果 Apache 无法启动,请在此处粘贴错误消息)。

  4. 从 XAMPP 欢迎页面的菜单中查看您的 phpinfo() 文件,检查 pspell 模块是否就位并启用。http://localhost/index.php 欲了解更多信息,请访问https://community.apachefriends.org/f/viewtopic.php?p=83942

于 2014-04-12T06:14:54.527 回答
1

问题不是来自那里,问题来自路径(我的意思是 Windows 用户的 %PATH%,因为 %PATH% 是一个包含许多由 ; 分隔的路径的变量)。因此,要找出问题,您必须:

1-在 httpd.conf 文件中进行配置:

PHPIniDir "${path}/conf_files"

2-在您的 php.ini 文件中进行配置(它必须与 httpd.conf 文件位于同一位置):更改此:

extension_dir = "${path}\php\ext\"

extension_dir = "D:\EasyPHP5.3.0\php\ext\"

(在我的例子中,php 安装在 D:\EasyPHP5.3.0 中)

可选的:

如果您需要从 CLI(命令提示符)执行 PHP,则必须在安装 PHP 时将 php.ini 文件复制到文件夹(在我的情况下为 D:\EasyPHP5.3.0\php)

重新启动/启动您的网络服务器并享受!

于 2015-11-24T15:28:08.690 回答
0

我有类似的问题。cURL 需要 SSL 层。问题在于php_curl库的安装,请参阅http://php.net/manual/en/curl.installation.php。第一个问题:PATH 上需要libeay32.dllssleay32.dll 。我把它们放在apache/bin目录中。第二个问题是php.ini需要在php_curl之前加载php_openssl,所以我修改了 ini 文件。

extension=php_openssl.dll
extension=php_curl.dll
于 2015-01-02T10:47:00.827 回答
0

我通过两个步骤解决了我的 Windows 7 上的问题:

  1. 在 php.ini 中将 extension_dir 设置为绝对路径

    extension_dir = "d:\php-5.4.32\ext"

  2. 注释 php.ini 中的 php_curl.dll 模块

    ;extension=php_curl.dll

于 2015-05-27T08:25:55.623 回答
0

通过更改为完整路径解决了同样的问题:
PHPIniDirinhttpd.confextension_dirin php.ini

于 2016-04-02T17:27:31.267 回答