CodeIgniter在localhost上不工作

lnxxn5zx  于 2023-10-14  发布在  其他
关注(0)|答案(6)|浏览(113)

我从FTP下载了一个网站。这个网站是用CodeIgniter做的。我的问题是它似乎不工作在localhost。
config.php中的基本URL:

$config['base_url'] = 'http://sample_localhost/mysite/';

database.php中的设置:

$db['default']['hostname'] = 'sample_localhost';
$db['default']['username'] = 'root';
$db['default']['password'] = 'admin';
$db['default']['database'] = 'my_database';

任何帮助都非常感谢。提前感谢!

ztyzrc3y

ztyzrc3y1#

**1)**下载CodeIgniter的最新版本。
**2)**解压缩并粘贴到'htcdocs'目录。在我的场景中,我使用的是XAMPP 1.8.1,所以我将把它粘贴到同一个目录中。此外,您可以重命名文件夹,例如:CI.

**3)**首先看看你的配置文件,并做了一些修改。
autoload.php

$autoload['libraries'] = array('database');
$autoload['helper'] = array('url');

config.php

$config['base_url'] = 'your localhost url';

在我的案例中:

$config['base_url'] = 'http://localhost/CI/index.php/'; // your current URL on the address bar when displaying the welcome_message
$config['index_page'] = 'index.php'; // page where you want your viewers are redirected when they type in your website name

例如base_url-http://www.example.com/index_page- index.php或直接进入news.php,由您决定
routes.php

$route['default_controller'] = 'site' // your controller's method, originally "welcome" to display welcome message

我将“site”设置为默认控制器

数据库.php

$db['default']['hostname'] = 'localhost';
$db['default']['username'] = 'root';
$db['default']['password'] = '';
$db['default']['database'] = '[your database]'; // e.g. CI_series
$db['default']['dbdriver'] = 'mysql';

**提示:**如果您还没有访问数据库的权限,则默认的root为root。另外,暂时将密码留空。
**4)**开始使用控制器控制器是应用程序的核心,因为它们决定了应该如何处理HTTP请求。一个控制器只是一个类文件,它的命名方式可以与URI相关联。
例如

http://www.example.com/index.php/blog/

在上面的例子中,CodeIgniter会尝试找到名为blog.php的控制器并加载它。
当控制器的名称与URI的第一个段匹配时,它将被加载。

现在,让我们键入控制器的代码。

<?php
class Site extends CI_Controller
{
    function index()
    {
        $this->load->view('home.php');
    }
}
?>

基本上,这将加载我们的视图/页面称为主页

  • 什么是负载?**

Loader,顾名思义,用于加载元素。这些元素可以是库(类)、视图文件、帮助器、模型或您自己的文件。(ref)
此代码片段将允许您显示页面home.php。另外,由于您调用的是home.php,因此必须将此页面放在views文件夹下。创建你的home.php,写任何你想在第一次运行时显示的测试,然后保存它。
此代码片段将允许您显示页面home.php。另外,由于您调用的是home.php,因此必须将此页面放在views文件夹下。创建你的home.php,写任何你想在第一次运行时显示的测试,然后保存它。

home.php

<p>
My view has been loaded. Welcome!
</p>

另外,保存我们的控制器在controllers文件夹下,文件名应该与你的类名相同。在这种情况下,它应该保存为site.php

首次运行:

dced5bon

dced5bon2#

我的意思是

$config['base_url'] = 'http://localhost/mysite/';

或类似

$config['base_url'] = 'http://MY_IP/mysite/';

并检查配置文件中的索引值,如

$config['index_page'] = 'index.php';

如果是这样的话,那么你需要在你的url中在控制器名称之前添加index.php,并检查你的文件夹是否也有权限.

$route['default_controller'] = "welcome";

如果你想在调用sample_localhost/my_site时通过defaults显示一个控制器,你可以改变

q5iwbnjs

q5iwbnjs3#

用下面的代码替换基本URL将运行并获得速度

$config['base_url'] = '';
$config['base_url'] = ((isset($_SERVER['HTTPS']) && $_SERVER['HTTPS'] == "on") ? "https" : "http");
$config['base_url'] .= "://".$_SERVER['HTTP_HOST'];
$config['base_url'] .= str_replace(basename($_SERVER['SCRIPT_NAME']),"",$_SERVER['SCRIPT_NAME']);
zvms9eto

zvms9eto4#

我已经实现的解决方案,适用于本地主机上有问题的不同场景:HTTP 404错误,Windows 10 [::1]问题,会话在本地主机上不工作问题,会话类在Chrome中不工作问题。
在本地主机环境中:

1.不要使用.htaccess,删除或重命名文件。
2.在config.php中,明确基url和索引页。

// Base Site URL
$config['base_url'] = 'http://localhost/';

// Index File
$config['index_page'] = 'index.php/';    // Note backslash at the end

3.在Controller上,每次调用方法时,使用**site_url()**函数代替 base_url()。您应该已加载url_helper。参见too

redirect(site_url('entity/method'));

仅此而已
视图示例:

<li><a href="<?php echo site_url('entity/method')?>">Method</a></li>

清洁度较低的溶液:始终将 index_page()base_url() 连接起来。不要忘记在方法之前确保反斜杠。

redirect(base_url().index_page().'entity/method');

说明

通常在生产环境中,您将保留一个空的 index_page 参数,可能还有 base_url 参数,并将使用“.htaccess”文件。然后,site_url() 函数或替代 base_url()+index_page() 将返回可识别的正确地址。

ie3xauqp

ie3xauqp5#

我让它在本地主机上工作,但我想让它像这样,这样我就可以很容易地上传到托管服务器。
我的解决方案是:

$config['base_url'] = ($_SERVER['HTTP_HOST'] === 'localhost' ? '/programiranje' : '/') ;
$config['index_page'] = '';
$config['uri_protocol'] = 'REQUEST_URI';

.htaccess:

RewriteEngine On
#RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule (.*) index.php/$1

我在Windows 10机器上的C:\Apache24\htdocs文件夹中本地托管它。

pinkon5k

pinkon5k6#

CI 4 Manual Installation CI 4有官方git repo“https://github.com/codeigniter4/framework“可供下载。
下载并解压缩您的目录后,您必须进行以下更改:

~config/App.php
 public string $baseURL = 'http://localhost/yourFolderName';

~public
 Move .htaccess and index.php to root folder (/youFolderName)

~yourFolderName
 Rename env to .env and edit .env 
 CI_ENVIRONMENT = development // for running localhost working

注意:-如果上述说明不起作用,则给予对文件夹(yourFolderName)的读和写权限。

相关问题