PHP致命错误:调用未定义的函数?

时间:2017-11-26 02:05:45

标签: php function undefined web-hosting

所以当我在我的网站主机上托管它时,我的网站有问题。 我收到这个错误:

PHP Fatal error:  Call to undefined function getSkillIcons()

奇怪的是,本地(Xampp)它运作得很好。

这是我包含函数的方法(在index.php中):

<?php include 'http://sub.website.com/incl/Settings.php'; ?>

这就是我所说的(index.php):

<div class="panel-body" style="text-align:center">
<?php getSkillIcons(explode(',', skills)); ?>
</div>

这是我如何定义技能(settings.php)

define("skills", "Test1,Test2,Test3,Test4");

这是函数本身:(settings.php)

function getSkillIcons($skills) {
    echo '<a href="?skill=Overall" title="Overall" data-toggle="tooltip"            data-placement="top"><img src="http://sub.website.com/incl/img/skill_icons/Overall-icon.png" class="skill-icon"></a>';
    for ($i = 0; $i < count($skills); $i++) {
        $tooltip = 'title="'.$skills[$i].'" data-toggle="tooltip" data-placement="top"';
        echo '<a href="?skill='.$skills[$i].'" '.$tooltip.'><img src="http://sub.website.com/incl/img/skill_icons/'.$skills[$i].'-icon.png" class="skill-icon"></a>';
    }

1 个答案:

答案 0 :(得分:1)

调用未定义的函数错误清楚地表明它没有得到你定义的函数。原因是您附加了settings.php http文件的完整路径。

您需要在{index.php&#39;&#39;并确保settings.php文件仅位于您的项目中。如果它与http位于同一文件夹,则只需包含如下所示。

settings.php

如果您的index.php文件位于其他网站但位于同一服务器中,则可以使用$ _SERVER [&#39; DOCUMENT_ROOT&#39;]包含该文件,如下所示:

<?php include 'settings.php'; ?> 

如果您的settings.php文件位于其他某个网站和其他服务器中,那么您需要更新<?php $path = $_SERVER['DOCUMENT_ROOT']; $path .= "/yourpath/settings.php"; include_once($path); ?> 中{strong>主要安全风险settings.php >。所以,如果您信任该网站,那么只能这样做。

allow_url_include=On