我安装了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 \
请简单说明。
答案 0 :(得分:4)
另外,检查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行中导致"在未知中的扩展名。错误。
RiggsFolly在这个帖子中给出了答案:http://forum.wampserver.com/read.php?2,128734
答案 4 :(得分:1)
启用扩展程序时遇到了同样的问题(请参阅Error when enabling PHP extensions)。
我解决了将PHP文件夹添加到路径并重新启动计算机的问题。
答案 5 :(得分:1)
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
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
您现在只需要在以下位置取消注释: XAMPP /阿帕奇/斌/ php.ini中 ;延长= php_pspell.dll 对此: extension = php_pspell.dll
重启Apache。 (如果Apache不会在这里开始粘贴错误消息)。
通过查看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上的问题:
将extension_dir设置为php.ini中的绝对路径
extension_dir = "d:\php-5.4.32\ext"
在php.ini中注释php_curl.dll模块
;extension=php_curl.dll
答案 9 :(得分:0)
通过更改为完整路径解决了同样的问题:
PHPIniDir
中的httpd.conf
和extension_dir
中的php.ini
。