调用未定义的函数 Illuminate\Filesystem\symlink()

Posted

技术标签:

【中文标题】调用未定义的函数 Illuminate\\Filesystem\\symlink()【英文标题】:Call to undefined function Illuminate\Filesystem\symlink()调用未定义的函数 Illuminate\Filesystem\symlink() 【发布时间】:2022-01-19 16:08:53 【问题描述】:

我正在我的服务器上安装一个 php 脚本作为测试,但我遇到了这个错误。由于我是 PHP 语言的初学者,因此我无法理解脚本代码有什么问题。

我在应用程序上启用了调试模式并收到此错误消息''Call to undefined function Illuminate\Filesystem\symlink()''

这是代码 上面写着:“return symlink($target, $link);”的行是 debug 发现错误所在的行。

public function copy($path, $target)

    return copy($path, $target);


/**
 * Create a symlink to the target file or directory. On Windows, a hard link is created if the target is a file.
 *
 * @param  string  $target
 * @param   string $link
 * @return void
 */
public function link($target, $link)

    if (!windows_os()) 
        return symlink($target, $link);
    
    $mode = $this->isDirectory($target) ? 'J' : 'H';
    exec("mklink /$mode ".escapeshellarg($link).' '.escapeshellarg($target));


/**
 * Create a relative symlink to the target file or directory.
 *
 * @param  string  $target
 * @param   string $link
 * @return void
 */
public function relativeLink($target, $link)
    

【问题讨论】:

尝试使用\symlink($target, $link)而不是symlink($target, $link),symlink是php的一个函数,所以需要转义它才能不使用当前的命名空间 @Alex197 php 自动检查全局命名空间,如此处所述 - php.net/manual/en/language.namespaces.fallback.php,另外,根据错误消息中提供的命名空间,它是 laravel 供应商代码 【参考方案1】:

您似乎在共享主机上运行它,出于安全原因,主机提供商禁用了某些 php 功能。

【讨论】:

哦,我不知道。是的,我在共享主机上运行它。 这是我的 php 选项。这和这个有关系吗? imgur.com/a/5fw0pwS @PedroHenrique 这是所谓的扩展列表,没关系,但是您对disable_functions 配置值感兴趣,我不确定它在您的面板中的位置。如果php.ini 可以编辑,你可以在那里找到它并设置为空字符串(disable_functions= 我明白了。我正在与我的服务器支持人员取得联系,与他们讨论这个问题。感谢您的回复

以上是关于调用未定义的函数 Illuminate\Filesystem\symlink()的主要内容,如果未能解决你的问题,请参考以下文章

数据流 - 未调用函数 - 错误 - 未定义名称

调用未定义函数 Mpdf\\Mpdf()

Codeigniter:调用未定义的函数(模型)

如果子类未定义构造函数,是不是会调用父构造函数?

phpMyAdmin 错误调用未定义函数

未捕获的错误:调用未定义的函数 have_post()