我正试图让Yii2
的调试栏显示在我的登台服务器上,但由于某种原因它没有显示。
下面是我的web.php
配置文件中的代码:
if (YII_ENV_DEV) {
// configuration adjustments for 'dev' environment
$config['bootstrap'][] = 'debug';
$config['modules']['debug'] = [
'class' => 'yii'debug'Module',
'allowedIPs' => ['127.0.0.1','::1','123.45.67.89']
];
$config['bootstrap'][] = 'gii';
$config['modules']['gii'] = 'yii'gii'Module';
}
123.45.67.89
显然只是服务器真实IP的一个例子。
我得到服务器的IP:
$host = gethostname();
$server_ip = gethostbyname($host);
如果我尝试通过以下命令访问调试页面:
http://www.example.com/debug/default/index我得到消息:您不允许访问此页
我确信我有这个工作之前,但现在它不工作的某种原因,我不知道为什么!?
我知道有调试数据文件(不确定它们是否会包含关于为什么我看不到它的任何信息),但我不确定如何正确查看数据?
AllowedIPs
参数应该包含您的ip,检查$_SERVER['REMOTE_ADDR']
并将其设置为AllowedIPs
。查看gii如何检查访问
我知道这是旧的,但它可能会帮助现在的人,因为这不是很清楚在网络上的任何地方。
我们过去在部署到测试和开发服务器时经常遇到这个问题。将其添加到main-local.php
if (!YII_ENV_TEST) {
// configuration adjustments for 'dev' environment
$config['bootstrap'][] = 'debug';
$config['modules']['debug'] = [
'class' => 'yii'debug'Module',
'allowedIPs' => ['*']
];
$config['bootstrap'][] = 'gii';
$config['modules']['gii'] = [
'class' => 'yii'gii'Module',
];
}
不要在生产服务器!!!!上这样做
检查frontend/web/index.php
或app/web/index.php
你需要
<?php
defined('YII_DEBUG') or define('YII_DEBUG', true);
defined('YII_ENV') or define('YII_ENV', 'dev');
如果您有自定义布局,请确保在</body>
标签之前调用<?php $this->endBody() ?>
确保你的[yii-app-folder]/runtime/debug
文件夹是可写的http服务器(Apache, nginx等)
的例子:
sudo chown www-data: ./runtime/debug/ -R
如果你运行的是nginx &php-fpm,我必须重新启动服务。
sudo service php-fpm restart
你可以检查你的/backend/runtime/
目录,确保它是可写的