gpt4 book ai didi

php - 从 codeigniter 安装外部的外部 php 脚本访问 CodeIgniter super 对象

转载 作者:行者123 更新时间:2023-12-01 16:27:04 26 4
gpt4 key购买 nike

我已经尝试了很长时间,但找不到解决方案。由于某种原因,我需要从位于 codeigniter 安装外部的外部 php 脚本访问 codeigniter super 对象 get_instance() 。

例如,我在 public_html 中有一个名为 my_script.php 的自定义 php 脚本。 codeigniter 安装在 public_html/codeigniter 内。

接下来是这里的讨论:http://ellislab.com/forums/viewthread/101620/我创建了一个名为 external.php 的文件并将其放入 public_html/codeigniter 文件夹中,它包含以下代码:

<?php
// Remove the query string
$_SERVER['QUERY_STRING'] = '';
// Include the codeigniter framework
ob_start();
require('./new/index.php');
ob_end_clean();
?>

然后我创建了一个名为 my_script.php 的文件并将其放入 public_html 文件夹中(在 codeigniter 安装之外),它包含以下代码:

<?php
require('new/external.php');
$ci =& get_instance();
echo $ci->somemodel->somemethod();
?>

现在,当我从浏览器加载 my_script.php 文件时,它会产生以下错误:

Your system folder path does not appear to be set correctly. Please open the following file and correct this: index.php

如果我将 my_script.php 文件放入 codeigniter 文件夹中,并在 require() 函数中使用更正的文件路径,那么它就可以工作。但我确实需要它从外部安装的 codeigniter 中工作。

知道如何解决这个问题吗?

提前致谢。

最佳答案

CI的主index.php设置系统和应用程序文件夹的路径。如果您从另一个目录包含 index.php,这些路径将相对于您的“包含”目录进行设置。

尝试更改 index.php 中的以下行

$system_path = 'system';
// change to...
$system_path = dirname(__FILE__) . DIRECTORY_SEPARATOR . 'system';

// and...
$application_folder = 'application';
// change to...
$application_folder = dirname(__FILE__) . DIRECTORY_SEPARATOR . 'application';

dirname(__FILE__) 将为您提供 index.php 的绝对路径,即使您将其包含在其他位置也是如此。

关于php - 从 codeigniter 安装外部的外部 php 脚本访问 CodeIgniter super 对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23879659/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com