1

我正在尝试创建一个 php 站点,但是我遇到了一个问题,即我无法在包含的文件中使用包含的变量!

索引.php

<?php
require 'core/init.php';
?>

初始化文件

<?php
require 'config.php';

require 'db/connect.php';
?>

配置文件

<?php
// Config
// The Title of the site
$site_title = 'php-site';
$site_desc = 'A awesome PHP site!';
$site_keywords = 'php, html5, css3, awesome';
$site_author = 'erty5000';

// Database - MySQL
// MySQL host
$db_host = 'localhost';

// MySQL username
$db_username = 'myuser';

// MySQL password
$db_password = 'mypassword';

// MySQL database
$db_database = 'mydb';

// Error to display at the top of the page if a connection problem occured
$db_connect_error = 'Sorry, we\'re experiencing connection problems.';
?>

连接.php

<?php
mysql_connect($db_host, $db_username, $db_password) or die($db_connection_error);
mysql_select_db($db_database) or die($db_connection_error);
?>

我得到的错误是

Notice: Undefined variable: db_host in C:\xampp\htdocs\w\php-site\core\db\connect.php on line 2

Notice: Undefined variable: db_username in C:\xampp\htdocs\w\php-site\core\db\connect.php on line 2

Notice: Undefined variable: db_password in C:\xampp\htdocs\w\php-site\core\db\connect.php on line 2

Warning: mysql_connect(): Access denied for user ''@'localhost' (using password: NO) in C:\xampp\htdocs\w\php-site\core\db\connect.php on line 2

Notice: Undefined variable: db_connection_error in C:\xampp\htdocs\w\php-site\core\db\connect.php on line 2

很抱歉这么长的帖子,但我真的希望有人能帮助我!

4

1 回答 1

1

您似乎config.php在包含路径或index.php. A在文档中解释:

根据给定的文件路径包含文件,如果没有给出,则根据指定的 include_path 包含文件。如果在 include_path 中找不到该文件,则 include 最终会在失败之前检查调用脚本自己的目录和当前工作目录。

这个问题可以通过指定文件的绝对路径轻松解决,即:

require(__DIR__ .'/config.php');
于 2013-03-10T22:19:44.603 回答