【问题标题】: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 供应商代码

标签: php script


【解决方案1】:

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

【讨论】:

  • 哦,我不知道。是的,我在共享主机上运行它。
  • 这是我的 php 选项。这和这个有关系吗? imgur.com/a/5fw0pwS
  • @PedroHenrique 这是所谓的扩展列表,没关系,但是您对disable_functions 配置值感兴趣,我不确定它在您的面板中的位置。如果php.ini 可以编辑,你可以在那里找到它并设置为空字符串(disable_functions=
  • 我明白了。我正在与我的服务器支持人员取得联系,与他们讨论这个问题。感谢您的回复
猜你喜欢
  • 2017-12-09
  • 2019-10-31
  • 1970-01-01
  • 1970-01-01
  • 2019-06-11
  • 2021-03-14
  • 2022-09-29
  • 1970-01-01
  • 2015-09-23
相关资源
最近更新 更多