Fatal error: Class 'PEAR' not found in /ho

2019-02-13 16:28发布

When trying to install PEAR by running go-pear.php (from the root of a cPanel GoDaddy hosted account), I get the following error:

Starting installation ... Loading zlib: ok

Bootstrapping Installer...................

Bootstrapping PEAR5.php............(remote) ok

Bootstrapping PEAR.php............(remote) ok

Bootstrapping Archive/Tar.php............(remote) ok

Bootstrapping Console/Getopt.php............(remote) ok

Fatal error: Class 'PEAR' not found in /home/alessio1/public_html/go-pear.php on line 697

line 697 is the following: PEAR::setErrorHandling(PEAR_ERROR_DIE, "\n%s\n");

The file go-pear.php was taken directly from http://pear.php.net/go-pear without any modification.

What am I doing wrong?

4条回答
Viruses.
2楼-- · 2019-02-13 16:37

I also had this error and found that KevinD's fix didn't work for me, but was able to figure something out based on it. To solve the problem I replaced the line

'Console/Getopt.php'   => 'https://raw.github.com/pear/Console_Getopt/trunk/Console/Getopt.php',

with

'Console/Getopt.php'   => 'https://raw.githubusercontent.com/pear/Console_Getopt/trunk/Console/Getopt.php',

The install completed nearly instantly for me after this change.

查看更多
一纸荒年 Trace。
3楼-- · 2019-02-13 16:40

I had the same error, and managed to solve it replacing the links stored in $bootstrap_files to :

$bootstrap_files = array(
    'PEAR5.php'            => 'https://raw.githubusercontent.com/pear/pear-core/master/PEAR5.php',
    'PEAR.php'             => 'https://raw.githubusercontent.com/pear/pear-core/master/PEAR.php',
    'Archive/Tar.php'      => 'https://raw.githubusercontent.com/pear/Archive_Tar/master/Archive/Tar.php',
    'Console/Getopt.php'   => 'https://raw.githubusercontent.com/pear/Console_Getopt/master/Console/Getopt.php',
);
查看更多
等我变得足够好
4楼-- · 2019-02-13 16:45

Use the .phar file: http://pear.php.net/go-pear.phar

It should work better.

查看更多
我想做一个坏孩纸
5楼-- · 2019-02-13 16:50

Pay attenction: Sometimes the problem is caused because of the blocking of fsocket() php function.
Server-to-server communication is sometimes used to commit abuses for example internet attacks.
Many free hosting companies block fsocket() function by default, and sometimes you have to authenticate yourself (providing information about you) to use this function.

查看更多
登录 后发表回答