Bug #64593 [Opn->Fbk]: Enchant fails to load any backends.
| From: | ab@php.net | Date: | Tue, 09 Apr 2013 13:07:29 +0000 |
| Subject: | Bug #64593 [Opn->Fbk]: Enchant fails to load any backends. | ||
| References: | 1 | Groups: | php.bugs |
| Request: | Send a blank email to php-bugs+get-178369@lists.php.net to get a copy of this message | ||
Edit report at https://bugs.php.net/bug.php?id=64593&edit=1
ID: 64593
Updated by: ab@php.net
Reported by: wschalle at gmail dot com
Summary: Enchant fails to load any backends.
-Status: Open
+Status: Feedback
Type: Bug
Package: Enchant related
Operating System: Windows 7, Windows Server 2008R2
PHP Version: 5.3.23
Block user comment: N
Private report: N
New Comment:
Put the plugin dlls should load if you put them into <php dir>\lib\enchant.
Previous Comments:
------------------------------------------------------------------------
[2013-04-05 19:41:17] wschalle at gmail dot com
Description:
------------
This bug was introduced in 5.3.23. It also exists in 5.4.13. Both the CLI and
CGI
SAPIs are affected.
When the enchant broker is initialized, it seems to silently fail to load the
backends. Enchant_broker_get_error returns false, and nothing is logged to the
php
error log or the system event viewer.
I tested this with the public win32 VC9 NTS zips of PHP. I verified that 5.3.22
works as expected, with enchant_broker_describe listing both ISPELL and MYSPELL
backends.
Looking at the diffs from 5.3.22 to 5.3.23, the most likely culprit seems to be
either the win32 registry.c change, or maybe the directory changes. Either way,
downgrading to 5.3.22 is currently still a viable workaround.
Test script:
---------------
$broker = enchant_broker_init();
enchant_broker_set_dict_path($broker, ENCHANT_MYSPELL, __DIR__);
var_dump(enchant_broker_describe($broker));
var_dump(enchant_broker_get_error($broker));
Expected result:
----------------
array(2) {
[0]=>
array(3) {
["name"]=>
string(6) "ispell"
["desc"]=>
string(15) "Ispell Provider"
["file"]=>
string(35) "C:\PHP-5.3.x\libenchant_ispell.dll"
}
[1]=>
array(3) {
["name"]=>
string(7) "myspell"
["desc"]=>
string(16) "Myspell Provider"
["file"]=>
string(36) "C:\PHP-5.3.x\libenchant_myspell.dll"
}
}
bool(false)
Actual result:
--------------
NULL
bool(false)
------------------------------------------------------------------------
--
Edit this bug report at https://bugs.php.net/bug.php?id=64593&edit=1