gpt4 book ai didi

PHP SOAP 和命名空间。 PHP fatal error : Class 'Jira\SoapClient' not found

转载 作者:行者123 更新时间:2023-12-04 18:35:32 25 4
gpt4 key购买 nike

我们正在更新我们的代码库以使用 PHP-5.3+ 中提供的命名空间功能

以前,我们的文件都在/htdocs/php 中的网络服务器上愉快地生活,但现在我们正在分离我们的脚本,并将我们的 PHP 库放在/htdocs/php/lib/

在/htdocs/php/lib/中,我们有一个名为 Jira.php 的文件,我们为其提供了一个命名空间:

<?php
# Define a namespace for this library
namespace Jira;

function create_client($jira_url, $options)
{
global $client;

try
{
$client = new SoapClient($jira_url, $options);
}
catch (Exception $error)
{
echo $error -> getMessage() . "<br/><p style='color:red'> Could not connect to Jira </p>";
}
}
?>

但是,当我们尝试从/htdocs/php 中的脚本调用此函数时,我们会收到 class not found 错误:
PHP Fatal error:  Class 'Jira\SoapClient' not found

当我们尝试创建 SoapClient 对象时,这将失败。

我已经验证我在/usr/share/php/SOAP/中安装了 php-soap 包
和 php_info();显示它已启用等。

所以大概这是命名空间约定的问题。我们如何在不引发错误的情况下包含该类?

问候,
ns

最佳答案

SoapClient 可能已分配给全局命名空间。

在您的脚本中,当前命名空间是 Jira.
尝试使用:

$client = new \SoapClient($jira_url, $options); 

关于PHP SOAP 和命名空间。 PHP fatal error : Class 'Jira\SoapClient' not found,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9327247/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com