Pear 包语言检测无法在 PHP 7 上检测到英语

Posted

技术标签:

【中文标题】Pear 包语言检测无法在 PHP 7 上检测到英语【英文标题】:Pear Package Language Detect Cannot Detect English on PHP 7 【发布时间】:2017-03-27 21:50:37 【问题描述】:

我试过这个包http://pear.php.net/package/Text_LanguageDetect/

它在 PHP 5.4 上相当准确。但我在 PHP 7 上失败了。知道为什么吗?

我运行的脚本:

<?php
  require_once 'Text/LanguageDetect.php';

  $l = new Text_LanguageDetect;

  $stdin = fopen('php://stdin', 'r');

  echo "Supported languages:\n";

  try 
     $langs = $l->getLanguages();
   catch (Text_LanguageDetect_Exception $e) 
     die($e->getMessage());
  

  sort($langs);
  echo join(', ', $langs);

  //$l->setNameMode(2);
  while ($line = fgets($stdin)) 
     print_r($l->detect($line, 4));
     //print_r($l->detectSimple($line));
  

输入:

This is English. What does this mean?

PHP 7.0.9 上的相同脚本

This is English. What does this mean?
Array
(
    [hungarian] => 0.20114942528736
    [albanian] => 0.19632183908046
    [danish] => 0.1848275862069
    [french] => 0.17183908045977
)

PHP 上的相同脚本。 5.4.34

This is English. What does this mean?
Array
(
    [english] => 0.34965517241379
    [dutch] => 0.24896551724138
    [latin] => 0.23931034482759
    [hungarian] => 0.20114942528736
)

【问题讨论】:

【参考方案1】:

我刚刚发布了Text_LanguageDetect version 1.0.0,它在 PHP 7.1 上运行良好。

如果您在 bugtracker 中报告该错误,那就太好了。

【讨论】:

以上是关于Pear 包语言检测无法在 PHP 7 上检测到英语的主要内容,如果未能解决你的问题,请参考以下文章

vs2015安装中文语言包后无法检测到中文语言包

无法在 Windows 上安装 PEAR 邮件包 XAMPP

PHP Pear Mail 无法发送带有 Unicode 字符的名称

Eclipse 的 PHP 混乱检测器

PHP性能之语言性能优化:安装VLD扩展——检测性能

PHP性能之语言性能优化:安装VLD扩展——检测性能