Yii2框架打包成Phar包报错的经历

简介: 以yii2为例打包文件过程比较简单,但打包好以后简单测试yii命令,一直报错:PHP Fatal error: Uncaught yii\base\InvalidParamException: The directory does not exist: phar:///Users/jimmy/PHP/Library/yii2-advanced/yii2.

以yii2为例

打包文件过程比较简单,但打包好以后简单测试yii命令,一直报错:

PHP Fatal error: Uncaught yii\base\InvalidParamException: The directory does not exist: 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一个bug。

/**
 * 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");
    }
}

http://git.oschina.net/web3d/codes/zyhsoev0b3i9u5njgaf42

目录
相关文章
|
安全 C++ Windows
好工具推荐系列:VC++开发必备神器 -- Dependencies,查看依赖库DLL,支持win10,比depends更好用
好工具推荐系列:VC++开发必备神器 -- Dependencies,查看依赖库DLL,支持win10,比depends更好用
2642 0
好工具推荐系列:VC++开发必备神器 -- Dependencies,查看依赖库DLL,支持win10,比depends更好用
|
3月前
|
PHP 开发者
如何用Composer管理PHP项目的第三方扩展包
【7月更文挑战第2天】**Composer 是PHP开发的关键工具,用于管理项目依赖。安装需PHP 5.6.4+,通过官网脚本安装。在项目根目录创建 `composer.json` 文件定义依赖,使用 `composer require` 命令安装扩展包,如Guzzle。`composer.lock` 保证版本一致。`require_once 'vendor/autoload.php';` 实现自动加载。更新依赖用 `composer update`,管理依赖提升效率和项目维护性。深入学习可发掘更多高级功能。**
103 0
|
5月前
|
JavaScript
用户安装nodejs设置路径打包项目
用户安装nodejs设置路径打包项目
89 1
|
5月前
|
算法 程序员 编译器
【cmake 踩坑记录】CMake文件安装深入解析:EXCLUDE的奥秘与替代方案
【cmake 踩坑记录】CMake文件安装深入解析:EXCLUDE的奥秘与替代方案
186 0
|
5月前
|
开发框架 前端开发 搜索推荐
分享97个框架模板PHP源码,总有一款适合你
分享97个框架模板PHP源码,总有一款适合你
107 2
|
5月前
|
Windows
(成功踩坑)electron-builder打包过程中报错
(成功踩坑)electron-builder打包过程中报错
1138 0
|
PHP Apache Windows
工银e生活开发脱坑日志(5)wampServer集成环境配置php ts版php_infosec.dll文件
工银e生活开发脱坑日志(5)wampServer集成环境配置php ts版php_infosec.dll文件
148 0
|
移动开发 前端开发 小程序
为了偷懒,我用google/zx一键自动打包编译了前后端项目并发布到指定环境
由于正在负责的一个项目,就说前端涉及到PC端、公众号端、APP端的H5、小程序端、可视化大屏端,而PC和APP又通过qiankun引入了微前端的理念。整体一圈下来可能光前端编译打包就要build差不多二十次。而有时候经常性的bug改动,这个时候便只需要进行测试后需要进行小范围的测试。
205 0
CodeBlocks导入第三方库的详细简单过程
CodeBlocks导入第三方库的详细简单过程
852 0
CodeBlocks导入第三方库的详细简单过程
|
Apache Java 应用服务中间件