yii2를 예로 들어보겠습니다
파일을 패키징하는 과정은 비교적 간단하지만 패키징한 후 오류가 계속 발생합니다.
PHP 치명적인 오류: Uncaught yiibaseInvalidParamException: 디렉터리가 존재하지 않습니다. : phar:///Users/jimmy/PHP/Library/yii2-advanced/yii2.phar/console in phar:///Users/jimmy/PHP/Library/yii2-advanced/yii2.phar/base/Module.php :224
처음에는 패키징에 문제가 있는 줄 알고 파일이 패키징되지 않았습니다. 다양한 방법으로 패키징을 시도했지만 여전히 다양한 오류가 발생했습니다.
다른 선택의 여지가 없을 때 오류를 보고한 파일을 살펴보니 해당 경로가 존재하는지 확인하기 위해 realpath를 사용했다는 것을 발견했습니다. 이것은 PHP의 버그입니다.
<code>/** * Sets the root directory of the module. * This method can only be invoked at the beginning of the constructor. * @param string $path the root directory of the module. This can be either a directory name or a path alias. * @throws InvalidParamException if the directory does not exist. */ public function setBasePath($path) { $path = Yii::getAlias($path); $p = $path;//realpath(); if ($p !== false && is_dir($p)) { $this->_basePath = $p; } else { throw new InvalidParamException("The directory does not exist: $path"); } }</code>
http://git.oschina.net/web3d/codes/zyhsoev0b3i9u5njgaf42
위 내용은 관련 측면을 포함하여 Yii2 프레임워크가 Phar 패키지로 패키징될 때 오류 보고 경험을 소개합니다. PHP 튜토리얼에 관심이 있는 친구들에게 도움이 되기를 바랍니다.