【问题标题】:Absolute URL on localhost and web server for YII Framework?YII 框架的本地主机和 Web 服务器上的绝对 URL?
【发布时间】:2017-06-25 15:13:15
【问题描述】:

我在 netbeans 中使用 YII2 框架,每次我的项目部署到 Web 服务器时,我都必须将 url 从 localhost 更改为 Web 服务器的 URL。 因此,
在控制器文件夹中创建了一个 config.php 文件

define("本地", "http://localhost");
定义(“WEB”,“http://website.com”);
全球$环境;
$环境=本地; //如果你在现场,就改成WEB

每个需要它的文件,把它放在顶部

include_once(dirname(__FILE __)."/config.php");

并且每次在代码中需要 url 时使用

回声$环境;

但是我得到 $environment 没有定义的错误。 我做错了什么?

参考How to implement absolute URLs on localhost and web server?

【问题讨论】:

  • 我认为 config.php 文件不包含在项目中。检查是否显示任何错误或只是将include_once; 更改为required_once,这样如果不包含,则剩余的代码行将不会运行,我们可以找到它是否包含。

标签: php url yii yii2 localhost


【解决方案1】:

在您的配置文件夹中创建 db_config.php 文件,如下所示 -

define('DB_NAME', '');

define('DB_USER', 'root');

define('DB_PASSWORD', '');

define('DB_HOST', 'localhost');

之后-如果您想访问该全局变量,那么像这样的用户- 在控制器中创建新的连接函数

private function connectToDb($db_name) {
    include Yii::getAlias('@app') . "/config/db_config.php"; // Include db_config.php file
    $connection = new \yii\db\Connection([
        'dsn' => 'mysql:host=' . DB_HOST . ';dbname=' . $db_name,
        'username' => DB_USER,
        'password' => DB_PASSWORD,
    ]);
    return $connection;
}

在从控制器的任何地方调用上述函数之后,如下所示 -

$super_conn = $this->connectToDb('my_db_name');
$super_conn->open();
$sql = "select * form student where id = 1"; //your query 
$super_conn->createCommand($sql)->execute();

谢谢你.. 希望这会有所帮助...

【讨论】:

    猜你喜欢
    • 2011-10-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-05-25
    • 2018-04-30
    • 2014-09-04
    • 1970-01-01
    相关资源
    最近更新 更多