为什么DOCUMENT_ROOT比真实路径不同('。')远程服务器上 [英] Why DOCUMENT_ROOT is different than realpath('.') on remote server
问题描述
与
回声的realpath('。'),'< BR>。
回声目录名(__ FILE __)'< BR>。
回声真实路径(目录名(__ FILE __))'< BR>。
回声$ _ SERVER [PHP_SELF]。'< BR>';
回声GETCWD();
我总是得到
/services2/webpages/util/i/g/gg8375620.provider.com.br/mydomain.com/public
但在的phpinfo DOCUMENT_ROOT在
/services/webpages/l/i/mydomain.com/public
正因为如此我在与Zend框架结合的.htaccess艰难时期。
在我的地方我能够使它发挥作用。但是,供应商主机上我把握不住幻呢。
EDT:我把 $ _ SERVER ['DOCUMENT_ROOT'] =真实路径($ _ SERVER ['DOCUMENT_ROOT']);
索引文件上,但得到这个
致命错误:未捕获的异常Zend_Config_Exception有消息'parse_ini_file(/services2/webpages/util/i/g/gg8375620.provider.com.br/mydomain.com/public/v0.2b/application/configs/appkeys.ini) [function.parse-ini文件]:未能打开流:没有这样的文件或目录parse_ini_file(/services2/webpages/util/i/g/gg8375620.provider.com.br/mydomain.com/public/v0.2b/application/configs/appkeys.ini) [function.parse-ini文件]:在没有这样的文件或目录:未能打开流/services2/webpages/util/i/g/gg8375620.provider.com.br/mydomain.com/public/v0.2b/library/Zend/Config/Ini.php:181堆栈跟踪:#0 /services2/webpages/util/i/g/gg8375620.provider.com.br/mydomain.com/public/v0.2b/library/Zend/Config/Ini.php(201): Zend_Config_Ini中使用 - > _ parseIniFile('/服务2 /的WebP ...')#1 /services2/webpages/util/i/g/gg8375620.provider.com.br/mydomain.com/public/v0.2b/library/Zend/Config/Ini.php(125): Zend_Config_在/services2/webpages/util/i/g/gg8375620.provider.com.br/mydomain.com/public/v0.2b/library/Zend/Config/Ini.php上线181
EDT: 这就是一个:
$ appkeys =新Zend_Config_Ini中使用(APPLICATION_PATH/configs/appkeys.ini');
和APPLICATION_PATH由
定义 定义(APPLICATION_PATH)
||定义(APPLICATION_PATH,真实路径(目录名(__ FILE__)/../application'));
试试这个:
$ _ SERVER ['DOCUMENT_ROOT'] =真实路径($ _ SERVER ['DOCUMENT_ROOT']);
回声$ _ SERVER ['DOCUMENT_ROOT']。 \ N的;
和阅读这
with
echo realpath('.').'<br>';
echo dirname(__FILE__).'<br>';
echo realpath(dirname(__FILE__)).'<br>';
echo $_SERVER[PHP_SELF].'<br>';
echo getcwd();
I get always
/services2/webpages/util/i/g/gg8375620.provider.com.br/mydomain.com/public
but in phpinfo DOCUMENT_ROOT is
/services/webpages/l/i/mydomain.com/public
because of that I'm having hard times with .htaccess in conjunction with Zend Framework.
On my local I'm able to make it work. But on the provider host I could not grasp the magic yet.
EDT: I put $_SERVER['DOCUMENT_ROOT'] = realpath($_SERVER['DOCUMENT_ROOT']);
on the index file but got this.
Fatal error: Uncaught exception 'Zend_Config_Exception' with message 'parse_ini_file(/services2/webpages/util/i/g/gg8375620.provider.com.br/mydomain.com/public/v0.2b/application/configs/appkeys.ini) [function.parse-ini-file]: failed to open stream: No such file or directory parse_ini_file(/services2/webpages/util/i/g/gg8375620.provider.com.br/mydomain.com/public/v0.2b/application/configs/appkeys.ini) [function.parse-ini-file]: failed to open stream: No such file or directory' in /services2/webpages/util/i/g/gg8375620.provider.com.br/mydomain.com/public/v0.2b/library/Zend/Config/Ini.php:181 Stack trace: #0 /services2/webpages/util/i/g/gg8375620.provider.com.br/mydomain.com/public/v0.2b/library/Zend/Config/Ini.php(201): Zend_Config_Ini->_parseIniFile('/services2/webp...') #1 /services2/webpages/util/i/g/gg8375620.provider.com.br/mydomain.com/public/v0.2b/library/Zend/Config/Ini.php(125): Zend_Config_ in /services2/webpages/util/i/g/gg8375620.provider.com.br/mydomain.com/public/v0.2b/library/Zend/Config/Ini.php on line 181
EDT: thats the one:
$appkeys = new Zend_Config_Ini(APPLICATION_PATH . '/configs/appkeys.ini');
and APPLICATION_PATH is defined by
defined('APPLICATION_PATH')
|| define('APPLICATION_PATH', realpath(dirname(__FILE__) . '/../application'));
Try this:
$_SERVER['DOCUMENT_ROOT'] = realpath($_SERVER['DOCUMENT_ROOT']);
echo $_SERVER['DOCUMENT_ROOT'] . "\n";
And read this
这篇关于为什么DOCUMENT_ROOT比真实路径不同('。')远程服务器上的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!