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

时间:2012-08-15 10:15:55

标签: php windows

我安装了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

也许更多。

Extensin目录: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 \

请简单说明。

10 个答案:

答案 0 :(得分:4)

使用pecl command

升级这些模块

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

答案 1 :(得分:3)

我遇到了同样的问题。问题是,默认情况下这些行是php.ini

; On windows:
; extension_dir = "ext" 

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

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

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

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

答案 2 :(得分: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指令更改为正确的目录时,问题已解决。

答案 3 :(得分:2)

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

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

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

这将重建SYMLINKS,用于在第0行和第34行中导致"在未知中的扩展名。错误。

WAMPServer menu

RiggsFolly在这个帖子中给出了答案:http://forum.wampserver.com/read.php?2,128734

答案 4 :(得分:1)

启用扩展程序时遇到了同样的问题(请参阅Error when enabling PHP extensions)。

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

答案 5 :(得分:1)

  1. 您需要下载并安装Aspell for Windows“GNU Aspell-0.50.3(win32)”。
  2. http://aspell.net/win32/

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

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

    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 entension 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 /阿帕奇/斌/ php.ini中 ;延长= php_pspell.dll 对此: extension = php_pspell.dll

    3. 重启Apache。 (如果Apache不会在这里开始粘贴错误消息)。

    4. 通过查看XAMPP欢迎页面菜单中的phpinfo()文件,检查pspell模块是否到位并启用。 http://localhost/index.php 有关详细信息,请访问https://community.apachefriends.org/f/viewtopic.php?p=83942

答案 6 :(得分:1)

问题不是来自那里,问题来自路径(我的意思是Windows用户的%PATH%,因为%PATH%是一个包含许多路径的变量;)。所以要弄清楚你需要解决的问题:

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

PHPIniDir "${path}/conf_files"

在php.ini文件中进行2-make配置(它必须与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)

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

答案 7 :(得分:0)

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

extension=php_openssl.dll
extension=php_curl.dll

答案 8 :(得分:0)

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

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

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

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

    ;extension=php_curl.dll

答案 9 :(得分:0)

通过更改为完整路径解决了同样的问题:
PHPIniDir中的httpd.confextension_dir中的php.ini