PEAR错误尝试使用测试代码连接到gandi

时间:2015-04-08 12:55:18

标签: php api pear

我对gandi和我的剧本的第一次连接尝试因误导的PEAR问题而爆炸:

 # php ganditest.php

PHP Warning:  require_once(XML/RPC2/Exception.php): failed to open stream: No such file or directory in /usr/local/share/pear/XML/RPC2/Client.php on line 43

Warning: require_once(XML/RPC2/Exception.php): failed to open stream: No such file or directory in /usr/local/share/pear/XML/RPC2/Client.php on line 43
    PHP Fatal error:  require_once(): Failed opening required 'XML/RPC2/Exception.php' (include_path='.:/usr/local/bin/') in /usr/local/share/pear/XML/RPC2/Client.php on line 43
Fatal error: require_once(): Failed opening required 'XML/RPC2/Exception.php' (include_path='.:/usr/local/bin/') in /usr/local/share/pear/XML/RPC2/Client.php on line 43

我尝试将它设置为PEAR目录:

# pear config-set bin_dir /usr/local/share/pear
config-set succeeded

# php ganditest.php
PHP Warning:  require_once(XML/RPC2/Exception.php): failed to open stream: No such file or directory in /usr/local/share/pear/XML/RPC2/Client.php on line 43

Warning: require_once(XML/RPC2/Exception.php): failed to open stream: No such file or directory in /usr/local/share/pear/XML/RPC2/Client.php on line 43
PHP Fatal error:  require_once(): Failed opening required 'XML/RPC2/Exception.php' (include_path='.:/usr/local/bin/') in /usr/local/share/pear/XML/RPC2/Client.php on line 43

Fatal error: require_once(): Failed opening required 'XML/RPC2/Exception.php' (include_path='.:/usr/local/bin/') in /usr/local/share/pear/XML/RPC2/Client.php on line 43

cat ganditest.php

<?php
require_once '/usr/local/share/pear/XML/RPC2/Client.php';

$version_api = XML_RPC2_Client::create(
    'https://rpc.gandi.net/xmlrpc/',
    array( 'prefix' => 'version.', 'sslverify' => True )
);

$apikey = 'mykey';

$result = $version_api->info($apikey);

print_r($result);
?>

如何告诉PhP在正确的文件夹中查找PEAR,以便连接到Gandi?

1 个答案:

答案 0 :(得分:0)

您刚设置PEAR将可执行文件(您从命令行执行的文件)安装到/ usr / local / share / pear中,这很可能不在您的$ PATH中: - )

要回答您的问题,您需要设置PHP使用的include_path,以便它可以找到PEAR安装的文件。

例如:

$ cat a.php 
<?php
echo get_include_path() , "\n";

set_include_path(get_include_path() . ":/usr/local/share/pear");
echo get_include_path() , "\n";