【问题标题】:Yii2 : set current IP address dynamically in console scriptUrlYii2 : 在控制台 scriptUrl 中动态设置当前 IP 地址
【发布时间】:2018-10-03 05:47:14
【问题描述】:

我想从操作系统获取当前 IP 地址。需要删除 'scripUrl' 中对 console.php 中 'UrlManager' 组件的硬编码 url 路径的依赖,以便 cron 控制器可以发送带有正确超链接的电子邮件

【问题讨论】:

  • 没有可靠的方法来做到这一点。主机可以有多个接口,多个 IP 和多个域连接到它。与引入一些本地配置文件并为每个主机单独配置相比,这样的快捷方式会给您带来更多麻烦。

标签: yii2 ip


【解决方案1】:

yii Request 组件在控制台应用中不可用

你需要依赖php内置函数

来自 CLI

PHP

$myIp= getHostByName(php_uname('n'));
echo $myIp;

PHP >= 5.3.0

$myIp = getHostByName(getHostName());
echo $myIp;

this answer

【讨论】:

  • 如何获取运行apache服务器的端口,php中有什么函数可以获取端口号??
  • 你不能单独使用 php 来做到这一点。这取决于您的系统设置、环境、您正在使用的服务以及不使用什么,在大多数 linux 机器上,您可以通过 system('lsof -'i) 的输出解析并找到 apache 正在使用的端口
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2019-12-25
  • 2012-05-06
  • 1970-01-01
  • 1970-01-01
  • 2022-11-22
  • 1970-01-01
  • 2018-02-14
相关资源
最近更新 更多