我正在尝试创建一个Zend Framework自定义提供程序,在这里:
if($module == 'default'){
$modelsPath = dirname(__FILE__) . '/../application/models';
$filePath = realpath($modelsPath) . '/' . $name . '.php';
} else
if(!$module == ''){
$modelsPath = dirname(__FILE__) . '/../application/' . $module . '/models';
$filePath = realpath($modelsPath) . '/' . $name . '.php';
} else {
die('Please enter a module!');
}当我试图创建到文件的路径时,当它的默认模块时一切都是正常的,但是当用于ex时。模块是不是也就是说,无论realpath返回什么,返回false?!错误在哪里?
发布于 2012-05-14 03:38:52
从php manual中删除
realpath()在失败时返回FALSE,例如如果文件不存在。
备注:
运行的脚本必须对层次结构中的所有目录具有可执行权限,否则realpath()将返回FALSE。
所以最有可能的问题是文件夹权限或者路径是错误的!
发布于 2012-05-14 09:26:14
尝试使用APPLICATION_PATH常量。
if($module == 'default'){
$modelsPath = APPLICATION_PATH . '/models';
$filePath = realpath($modelsPath) . '/' . $name . '.php';
} else
if(!$module == ''){
$modelsPath = APPLICATION_PATH . '/' . $module . '/models';
$filePath = realpath($modelsPath) . '/' . $name . '.php';
} else {
die('Please enter a module!');
}发布于 2012-05-14 23:02:58
通过简单的回显$filePath,仔细检查路径是否存在。如果检查无误,则确保“用户”(例如apache、www-data )具有足够的权限。如果您不确定您的服务器正在运行的是谁,您可以简单地通过回显whoami进行调试
https://stackoverflow.com/questions/10574192
复制相似问题