3

我正在尝试安装 rar 包。我检查了 php.net 的安装文档,它只是说要执行pecl -v install rar

我做到了并重新启动了服务器,但它仍然无法正常工作。我对 Linux 的东西不是很熟悉,所以也许我做错了什么?

Phpinfo 也没有显示任何关于 RAR 包的信息。

我正在尝试执行这个脚本,我在 php.net 文档上找到了它,所以它应该可以工作:

$rar_arch = RarArchive::open('dl/test.rar');
if ($rar_arch === FALSE)
die("Could not open RAR archive.");

$rar_entries = $rar_arch->getEntries();
if ($rar_entries === FALSE)
die("Could retrieve entries.");

echo "Found " . count($rar_entries) . " entries.\n";

foreach ($rar_entries as $e) {
echo $e;
echo "\n";
}
$rar_arch->close();
4

1 回答 1

2

回答这个 4 年前的问题只是因为我遇到了同样的问题,而且我对 PHP/Apache/Pecl 堆栈还很陌生:

基本上,我遵循了本指南。但是,我安装了 2 个版本的 PHP,并且必须进行一些调整才能使其正常工作(另外,更新关于 PHP 版本如何从 2018 年开始工作的说明):

  1. sudo apt-get install php5.6-dev

  2. pecl -v install rar

RAR 扩展安装在/usr/lib/php/20131226

  1. 检查我的扩展目录在哪里:

    php -i | grep extension
    extension_dir => /usr/lib/php/20160303 => /usr/lib/php/20160303
    
  2. 添加了一行/etc/php/5.6/apache2/php.ini

    extension=/usr/lib/php/20131226/rar.so
    
  3. 然后,像往常一样重新启动 apache 服务器,一切正常!

    sudo service apache2 restart 
    
于 2018-01-05T14:22:28.883 回答