在linux下安装了新的Phalcon扩展后,访问项目报错但是其他人都没有问题,猜测多半是环境或者版本问题,报错信息如下:

PHP message:PHP Catchable fatal error:Argument 1 passed to Phalcon\Mvc\Model::validate() must implement interface Phalcon\ValadationInterface,instance of Phalcon\Mvc\Model\Validator\Presenceif given in ...

根据错误信息取model里查看,会发现已经继承了接口,之前别人遇到这个问题,也是只局限于代码中,而没有想可能是版本问题,Phalcon 在 3.0版本后更新了一下类的写法。

①修改代码为新写法

新的写法可以在官网
https://blog.phalconphp.com/ 搜索 validate就可以看到新版本的用法

②将Phalcon版本降低到2.0的版本

git clone -b 2.0.x git://github.com/phalcon/cphalcon.git


Donne
694 声望25 粉丝

知其然,知其所以然。


引用和评论

0 条评论