无法让 pspell 工作

无法让 pspell 工作

我安装了 aspell\pspell,如果我

> aspell dump dicts
ar
cs
de
de_AT
de_CH
de_DE
en
en-variant_0
en-variant_1
en-variant_2
en-w_accents
en-wo_accents
en_CA
en_CA-variant_0
en_CA-variant_1
en_CA-w_accents
en_CA-wo_accents
en_GB
en_GB-ise
en_GB-ise-w_accents
en_GB-ise-wo_accents
en_GB-ize
en_GB-ize-w_accents
en_GB-ize-wo_accents
en_GB-variant_0
en_GB-variant_1
en_GB-w_accents
en_GB-wo_accents
en_US
en_US-variant_0
en_US-variant_1
en_US-w_accents
en_US-wo_accents
es
fr-40
fr-60
fr
fr-80
fr-lrg
fr-med
fr-sml
fr_CH-40
fr_CH-60
fr_CH
fr_CH-80
fr_CH-lrg
fr_CH-med
fr_CH-sml
fr_FR-40
fr_FR
fr_FR-60
fr_FR-80
fr_FR-lrg
fr_FR-med
fr_FR-sml
pt_BR
pt_PT
ro
ro-classic
ru
ru-ye
ru-yeyo
ru-yo
sv
tr

然而,当我运行这个简单的脚本时:

 <?php
$dict = pspell_new ("en");
if (!pspell_check ($dict, "carr")) {
    $suggestions = pspell_suggest ($dict, "carr");
     foreach ($suggestions as $suggestion) {
        echo "Did you mean: $suggestion?<br />";
     }
}
?>

我收到此错误:

PHP 警告:pspell_new():PSPELL 无法打开字典。原因:未找到“en”语言的单词列表。位于 /usr/share/nginx/html/t.php 第 2 行

我确信 aspell 已正确安装,phpinfo() 上也显示 pspell 已启用。我认为 php 正在错误的目录中搜索词典。有什么方法可以知道在哪个目录中?

答案1

您正在运行 PHP/Aspell 代码。我没有使用 PHP/Aspell 的经验。但是我确实用 Perl 和 Ruby 编写了一些 Aspell 代码,因此有一些经验。您的 PHP/Aspell 问题乍一看是 Aspell 配置问题。提供此 URL 链接(Perl/Aspell 链接)http://vouters.dyndns.org/tima/Linux-Windows-Perl-Aspell-Determining_the_country_of_a_Web_query.html对你有帮助的话我会很高兴。如果你保持好奇心和开放的态度,你可以参考 Ruby/Aspell 的 Perl 代码http://vouters.dyndns.org/tima/Linux-Ruby-Aspell-Determining_the_country_of_a_Web_query.html. 这项 Ruby/Aspell 工作的唯一目的是比较 Ruby 和 Perl 在基于 Aspell 解决方案的相同算法上的性能。

菲利普

相关内容