运行 Windows 本地 CodeIgniter 项目
Running CodeIgniter Project locally on Windows
我的 CodeIgniter 项目位于
C:/xampp/htdocs/Project/CodeIgniter/myproject
我正在使用 Xampp
。
我像这样设置了一个基础 URL 但它不起作用。
$config['base_url'] = 'http://localhost:3000/myproject';
我如何在本地 运行 这个项目。
您的 .htaccess 文件是什么样子的?
它应该是这样的:
RewriteEngine on
RewriteBase /myproject
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php? [L]
替换
$config['base_url'] = 'http://localhost:3000/myproject';
到
$config['base_url'] = "http://".$_SERVER['HTTP_HOST'];
$config['base_url'] = preg_replace('@/+$@','',dirname($_SERVER['SCRIPT_NAME'])).'/';
您的 .htaccess 文件应如下所示:
Options +FollowSymLinks
Options -Indexes
DirectoryIndex index.php
RewriteEngine on
RewriteCond !^(index\.php|assets|images|css|js|install|robots\.txt|favicon\.ico)
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php?/ [L,QSA]
检查你的项目路径
和网站基础 url
$config['base_url'] = 'http://localhost/your_project_path/';
如果你有端口
$config['base_url'] = 'http://localhost:3000/myproject';
在 application/config/config.php
在那之后 index.php 是 运行
如果要连接数据库,请设置数据库连接
在 your_project/application/config/database.php
db['default']['username'] ='your_db_root_user';
$db['default']['password'] = 'your_db_root_password';
$db['default']['database'] = 'database_name';
// The following values can probably stay the same.
$db['default']['hostname'] = 'localhost:3000';
$db['default']['dbdriver'] = "mysqli";
$db['default']['dbprefix'] = "";
$db['default']['pconnect'] = TRUE;
$db['default']['db_debug'] = true;
$db['default']['cache_on'] = FALSE;
$db['default']['cachedir'] = "";
$db['default']['char_set'] = "utf8";
$db['default']['dbcollat'] = "utf8_general_ci";
调试时间短。
那么如果你在 url 中使用 http://localhost
会发生什么?
您应该看到 C:/xampp/htdocs/
中的内容。所以如果你有一个 index.php 在那里,它应该出现。如果您没有 index.php,请创建一个,看看会发生什么。
除非您在设置中完成 "other things",否则您的服务器文档根目录将为 C:/xampp/htdocs/。所以它会期望您的项目位于该文件夹下。
现在,您已决定将项目放在 C:/xampp/htdocs/Project/CodeIgniter/myproject
下
所以你需要使用 http://localhost/Project/CodeIgniter/myproject
您是否受到 Codeigniter 的欢迎(注意:如果您没有更改默认路由)
一个非常快速的解决方法, 使用您当前的设置,将您的项目重新定位到
C:/xampp/htdocs/myproject 因为这是服务器希望在您使用的 URL 中看到它的地方。
会发生什么?
就我个人而言,我从不使用 localhost 并从内存创建虚拟主机 XAMPP 允许您从其管理 window 进行操作。这样你的项目文件就可以位于任何地方,只要服务器知道在哪里可以找到它们。我会把它作为一个项目留给你看。
我的 CodeIgniter 项目位于
C:/xampp/htdocs/Project/CodeIgniter/myproject
我正在使用 Xampp
。
我像这样设置了一个基础 URL 但它不起作用。
$config['base_url'] = 'http://localhost:3000/myproject';
我如何在本地 运行 这个项目。
您的 .htaccess 文件是什么样子的? 它应该是这样的:
RewriteEngine on
RewriteBase /myproject
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php? [L]
替换
$config['base_url'] = 'http://localhost:3000/myproject';
到
$config['base_url'] = "http://".$_SERVER['HTTP_HOST'];
$config['base_url'] = preg_replace('@/+$@','',dirname($_SERVER['SCRIPT_NAME'])).'/';
您的 .htaccess 文件应如下所示:
Options +FollowSymLinks
Options -Indexes
DirectoryIndex index.php
RewriteEngine on
RewriteCond !^(index\.php|assets|images|css|js|install|robots\.txt|favicon\.ico)
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php?/ [L,QSA]
检查你的项目路径 和网站基础 url
$config['base_url'] = 'http://localhost/your_project_path/';
如果你有端口
$config['base_url'] = 'http://localhost:3000/myproject';
在 application/config/config.php 在那之后 index.php 是 运行
如果要连接数据库,请设置数据库连接 在 your_project/application/config/database.php
db['default']['username'] ='your_db_root_user';
$db['default']['password'] = 'your_db_root_password';
$db['default']['database'] = 'database_name';
// The following values can probably stay the same.
$db['default']['hostname'] = 'localhost:3000';
$db['default']['dbdriver'] = "mysqli";
$db['default']['dbprefix'] = "";
$db['default']['pconnect'] = TRUE;
$db['default']['db_debug'] = true;
$db['default']['cache_on'] = FALSE;
$db['default']['cachedir'] = "";
$db['default']['char_set'] = "utf8";
$db['default']['dbcollat'] = "utf8_general_ci";
调试时间短。
那么如果你在 url 中使用 http://localhost
会发生什么?
您应该看到 C:/xampp/htdocs/
中的内容。所以如果你有一个 index.php 在那里,它应该出现。如果您没有 index.php,请创建一个,看看会发生什么。
除非您在设置中完成 "other things",否则您的服务器文档根目录将为 C:/xampp/htdocs/。所以它会期望您的项目位于该文件夹下。
现在,您已决定将项目放在 C:/xampp/htdocs/Project/CodeIgniter/myproject
下所以你需要使用 http://localhost/Project/CodeIgniter/myproject 您是否受到 Codeigniter 的欢迎(注意:如果您没有更改默认路由)
一个非常快速的解决方法, 使用您当前的设置,将您的项目重新定位到 C:/xampp/htdocs/myproject 因为这是服务器希望在您使用的 URL 中看到它的地方。
会发生什么?
就我个人而言,我从不使用 localhost 并从内存创建虚拟主机 XAMPP 允许您从其管理 window 进行操作。这样你的项目文件就可以位于任何地方,只要服务器知道在哪里可以找到它们。我会把它作为一个项目留给你看。