You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

共享主机环境使用PSpell遇‘en’词典未找到的技术问询

PHP PSpell在共享主机环境的问题与解决方向

我在共享主机环境中尝试运行PHP的基础PSpell功能,使用代码如下:

<?php
  error_reporting(E_ALL);
  @ini_set('display_errors', 1);
  $pSpell = pspell_new("en");
  if (pspell_check($pSpell, "and")) {
    echo "Good";
  } else {
    echo "Bad";
  }
?>

无论输入什么单词,输出始终是Bad,同时出现警告:

Warning: pspell_new(): PSPELL couldn't open the dictionary. reason: No word lists can be found for the language "en".

针对这个场景,解答如下:

问题1:共享主机环境下,能否上传自定义词典并让PSpell使用该词典?

可以,但需要满足以下条件:

  • 准备好aspell格式的词典文件(包含.dic词库文件和.aff规则文件),上传到你有权限访问的站点目录(比如根目录下新建的dicts文件夹)
  • 调用pspell_new时,通过额外参数指定自定义词典的路径,示例代码调整如下:
<?php
error_reporting(E_ALL);
@ini_set('display_errors', 1);
// 替换为你实际的词典存放路径
$dictPath = $_SERVER['DOCUMENT_ROOT'] . '/dicts';
$pSpell = pspell_new("en", "", "", "", PSpell::OPT_DICTIONARY, $dictPath);
if (pspell_check($pSpell, "and")) {
  echo "Good";
} else {
  echo "Bad";
}
?>
  • 注意:部分共享主机可能限制了文件系统的访问权限,若上传后仍无法读取词典,需联系服务商确认是否允许此类操作。

问题2:应向共享主机服务商具体询问哪些内容,以让主词典正常工作?

直接询问以下几个核心问题:

  • 服务器是否已安装英文aspell词典包(通常包名为aspell-en)?
  • 如果未安装,能否为我的站点部署该词典包?
  • 当前PHP的PSpell扩展是否已启用,且与服务器上的aspell版本兼容?
  • 服务器允许用户自定义PSpell词典路径吗?如果允许,有没有路径限制?

内容的提问来源于stack exchange,提问作者azoundria

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.19 22:53:10