尝试使用测试代码连接到 gandi 时出现 PEAR 错误
PEAR error trying to connect to gandi using test code
我第一次尝试连接到 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
猫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?
您刚刚设置 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";
我第一次尝试连接到 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
猫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?
您刚刚设置 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";