1

我把password.php文件放在文件components夹里。在phpStorm中的现有函数password.php显示得很好(自动完成),但是在运行时遇到了这个:

Fatal error: Call to undefined function password_hash() in . . .\protected\controllers\SiteController.php on line 129

什么原因?

主文件

...
'import'=>array(
    'application.models.*',
    'application.components.*',
),
...
4

1 回答 1

2

Yii 仅在文件名与类名相同且类定义文件在导入路径中时才会自动加载类。对于包含函数包的文件,您必须手动include(或)它。 要包含您可以使用(php 5.2) 或(php 5.3+) 获取当前文件的路径,然后将相对路径附加到您的文件和文件名。你可以把它放进去,像这样:require
dirname(__FILE__)__DIR__index.php

require_once dirname(__FILE__) . '/../protected/components/password.php';

或者更简单,如果你有 php 5.3+:

require_once __DIR__ . '/../protected/components/password.php';
于 2013-05-11T09:38:04.810 回答