Yii2框架打包成Phar包报错的经历
2024-10-19 05:18:17
以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
最新文章
- SQL Server-聚焦UNIOL ALL/UNION查询(二十三)
- 如何使用Linux命令行查看Linux服务器内存使用情况?
- 在SqlServer2008R2中,根据分隔符把一列的值切割成多列
- tomcat在linux中启动慢的解决方案
- CentOS7新特性
- 纯JavaScripst的全选、全不选、反选 【转】
- Linux命令全集
- 删:Centos 7安装Nginx 1.8
- NPOI读写Excel0307
- Spring 学习笔记02
- apicloud教程
- 【原创】大叔经验分享(50)hue访问mysql(librdbms)
- Mysql出现(10061)错误提示的暴力解决办法
- MYSQL事务隔离级别详解附加实验
- 查看MySQL版本的命令及常用命令
- submit form to convert to a Java Bean model.
- 普通new和placement new的重载
- php + ajax 避免重复提交
- php输出大段代码(含变量和方法)
- BZOJ2600_ricehub_KEY
热门文章
- 06- Shell脚本学习--其它
- [Java面试七]Mybatis总结以及在面试中的一些问题.
- [javaweb]Java过滤器与包装设计模式的实用案例.
- ftp下载目录下所有文件及文件夹内(递归)
- 让AngularJS的$http 服务像jQuery.ajax()一样工作
- 快速入门系列--WebAPI--04在老版本MVC4下的调整
- 快速入门系列--MySQL
- javascript技术大全
- JS中的匿名函数
- SQL Pass北京举行2014年第一次线下活动