【发布时间】: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 供应商代码