我在第三级域名上收到错误:
警告:is_dir():open_basedir限制生效。文件(/ tmp)是 不在允许的路径内
它出现在:第188行的[path-to-doctrine] /Doctrine/ORM/Proxy/ProxyFactory.php
这是:
if ( ! is_dir($parentDirectory)) {
if (false === @mkdir($parentDirectory, 0775, true)) {
throw ProxyException::proxyDirectoryNotWritable();
}
} else if ( ! is_writable($parentDirectory)) {
throw ProxyException::proxyDirectoryNotWritable();
}
在本地服务器上没有错误。它只发生在实时服务器上。
我需要改变什么?
答案 0 :(得分:2)
看起来你的脚本正在使用该代码进行缓存,出于安全原因,你无法直接访问“/ tmp”目录。您需要将该目录路径更改为新的本地路径,您的脚本具有所需的操作权限。
答案 1 :(得分:0)
bader提供的解释是正确的。
要修复它,需要在Doctrine设置中更改代理路径:
$config = Setup::createAnnotationMetadataConfiguration(array(__DIR__."/src"), $isDevMode);
$config->setProxyDir('path-to-cache');