标签: codeigniter

我的htaccess文件不断出现404错误

嘿伙计们,我不是要抓住这些,我正在努力让这个工作.

我只是不断收到404错误,有人可以帮忙吗?

RewriteEngine On
RewriteBase /
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php?/$1 [QSA,L]
Run Code Online (Sandbox Code Playgroud)

这就是我到目前为止所拥有的.我正在使用CodeIgniter框架.

php apache .htaccess mod-rewrite codeigniter

5
推荐指数
0
解决办法
195
查看次数

在Xampp中连接sqlsrv

我已经安装了Xampp并安装了CodeIgniter.我想从CodeIgniter连接到SQL数据库.

我更改了数据库配置文件并将dbdriver设置为sqlsrv.

$active_group = 'default';
$active_record = TRUE;

$db['default']['hostname'] = 'IP Adress;
$db['default']['username'] = 'DBUserName';
$db['default']['password'] = 'DBPassword';
$db['default']['database'] = 'DBName';
$db['default']['dbdriver'] = 'sqlsrv';
$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';
$db['default']['swap_pre'] = '';
$db['default']['autoinit'] = TRUE;
$db['default']['stricton'] = FALSE;
Run Code Online (Sandbox Code Playgroud)

在我的控制器中,我有以下代码来尝试连接:

$this->load->database();

$db_obj = $this->db->load('sql_Test',TRUE);
$connected = $db_obj->initialize();

if (!$connected){
    $db_obj = $this->d->load('yyy',TRUE);
} 
else{
    die('connected');
}
Run Code Online (Sandbox Code Playgroud)

我有以下错误:

致命错误:在第76行的C:\ xampp\htdocs\system\database\drivers\sqlsrv\sqlsrv_driver.php中调用未定义的函数sqlsrv_connect()

我在论坛上看到我必须从sqlsrv_driver.php更改第89行:

function db_pconnect()
{
    // $this->db_connect(TRUE); …
Run Code Online (Sandbox Code Playgroud)

php sql xampp codeigniter

5
推荐指数
1
解决办法
4万
查看次数

CodeIgniter在哪里和sql查询语句一样

我试图在codeigniter上执行此sql查询

SELECT* FROM person WHERE type = 'staff' AND description LIKE 'university%'
Run Code Online (Sandbox Code Playgroud)

我不确定它是否正确......

$this->db->get_where('person' , array('type'=>'staff'))
         ->like('description','university%')
         ->result_array();
Run Code Online (Sandbox Code Playgroud)

有没有人对我的案子有所了解?提前致谢 ...

php mysql sql codeigniter

5
推荐指数
1
解决办法
2万
查看次数

google-oauth库在MVC PHP中进行会话

嗨,我想从这里学到一些东西,基本上我希望我的系统访问在谷歌帐户,不知何故我设法做以下

  • 获取客户端ID,重定向uris,密钥
  • 来自Google帐户的身份验证
  • 得到令牌

但我觉得我在某些方面做错了,这就是 Oauth2callback

class Oauth2callback extends CI_Controller {


    function __construct(){
        parent::__construct();

        $this->load->helper('url');
        $this->load->library('session');
        require_once APPPATH.'libraries/Google/Client.php';
        session_start();


    }

    public function index()
    {


        $client_id = $this->config->item('client_id');
        $client_secret = $this->config->item('client_secret');
        $redirect_uri = $this->config->item('redirect_uri');

        $client = new Google_Client();
        $client->setClientId($client_id);
        $client->setClientSecret($client_secret);
        $client->setRedirectUri($redirect_uri);
        $client->addScope("https://www.googleapis.com/auth/userinfo.email");
        $client->addScope("https://www.googleapis.com/auth/userinfo.profile");

        if (isset($_GET['code'])) {
            $client->authenticate($_GET['code']);
            $_SESSION['access_token'] = $client->getAccessToken();
            $redirect = 'http://' . $_SERVER['HTTP_HOST'] . $_SERVER['PHP_SELF'];

            header('Location: ' . filter_var($redirect, FILTER_SANITIZE_URL));
        }

        if (isset($_SESSION['access_token']) && $_SESSION['access_token']) {
            $client->setAccessToken($_SESSION['access_token']);
        } else {
            $authUrl = $client->createAuthUrl();
        }

        if ($client->getAccessToken()) {
            $_SESSION['access_token'] = …
Run Code Online (Sandbox Code Playgroud)

php google-app-engine codeigniter oauth google-oauth

5
推荐指数
1
解决办法
3094
查看次数

如何在会话codeigniter中存储变量

我想将变量存储在会话中,目前我正在尝试这样但不起作用.

在控制器中

<?php
session_start(); 
$_SESSION['myvar']='myvalue';
?>
Run Code Online (Sandbox Code Playgroud)

php session codeigniter session-variables

5
推荐指数
2
解决办法
3万
查看次数

为什么我在本地使用codeigniter获得403 Forbidden错误?

我是数据库工作的新手,我想知道是否有人可以帮助我理解为什么当我只是在本地开发时我一直得到403 Forbidden错误.我正在使用codeigniter尝试创建一个简单的登录程序.前几天我让程序在不同的计算机上运行,​​但是当我尝试在浏览器中打开"视图"或"控制器"文件时,现在我在这台计算机上的所有内容都是403错误.它必须在某处设置,但我根本不知道在哪里看.有任何想法吗?

这是我的database.php文件:

$active_group = 'default';
$active_record = TRUE;

$db['default']['hostname'] = 'localhost';
$db['default']['username'] = 'tester';
$db['default']['password'] = 'tester';
$db['default']['database'] = 'intranet';
$db['default']['dbdriver'] = 'mysql';
$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';
$db['default']['swap_pre'] = '';
$db['default']['autoinit'] = TRUE;
$db['default']['stricton'] = FALSE;
Run Code Online (Sandbox Code Playgroud)

这是控制器文件welcome.php:

<?php if ( ! defined('BASEPATH')) exit('No direct script access allowed');

class Welcome extends CI_Controller {

    /**
     * Index Page for this controller.
     *
     * Maps …
Run Code Online (Sandbox Code Playgroud)

php mysql mamp codeigniter http-status-code-403

5
推荐指数
1
解决办法
3万
查看次数

在CodeIgniter中获取Hook中的会话数据

我正在使用codeigniter我想使用Hook进行登录验证.这意味着我希望在每个控制器中检查会话数据和登录的时间.因为我在会话中插入了登录时间.如果登录或不登录,那么自从他登录以来的时间.所以我想使用挂钩.我想从数组访问session-> userdata值,但我不知道如何从数组中获取这些值.我想从数组获取记录时间并更新whenevr用户点击或在站点上导航.这是我的代码:

//enter code here
$hook['post_controller_constructor'][] = array(
                           'class'    => 'Authenticate',
                           'function' => 'loginCheck',
                           'filename' => 'authenticate.php',
                           'filepath' => 'hooks',
                           'params'   => array()
                           );

class Authenticate
{

    private $CI;

    function __construct()
    {
        $this->CI =& get_instance();

        if(!isset($this->CI->session)){  //Check if session lib is loaded or not
              $this->CI->load->library('session');  //If not loaded, then load it here
        }
    }

   function loginCheck()
   {

        if(!$this->CI->session->userdata){
            if($this->CI->session->userdata('uid')=="XYZ")
            {
                echo "Valid User"; //it wont get inside this if
            }
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

我有数据:

$this->CI->session->userdata array :
Array ( [session_id] …
Run Code Online (Sandbox Code Playgroud)

php arrays session codeigniter

5
推荐指数
1
解决办法
4634
查看次数

codeigniter $ this-> db-> like是区分大小写的

这是代码.

function get_autoComplete($tbl, $data, $field, $value, $where='',$group_by=false,$limit=''){
    $this->db->select($data);
    $this->db->from($tbl);
    if($where!=''){
        $this->db->where($where);
    }
    $this->db->like($field, $value);
    if($group_by == true){
    $this->db->group_by($field);
    }
    if($limit !='')
    {
        $this->db->limit($limit);
    }
    $query=$this->db->get();
    return $query->result();
}
Run Code Online (Sandbox Code Playgroud)

在第二个select语句中,似乎like($field, $value)区分大小写.我希望它不敏感,所以我可以搜索而不用担心大小写.

它与某些事情有关

$this->db->like($field, $value);
Run Code Online (Sandbox Code Playgroud)

php mysql codeigniter

5
推荐指数
1
解决办法
5581
查看次数

CodeIgniter项目的第一个HTTP请求的延迟非常高

我和一位朋友刚刚开始参与一个项目,其他人几年前就停止了开发,我们正试图复活它.我们已经解决了大多数与设置相关的问题,但是我们无法弄清楚这是一个非常烦人的问题.

在我们的本地主机中,所有页面都需要很多时间来加载/刷新.我不是指资产,脚本或任何东西,问题是在第一个请求完成之前的延迟.大多数情况下需要15到30秒,这是不可接受的,有时甚至会达到1或2分钟.

例如,这是Chrome开发工具中"网络"标签的屏幕截图.第一行是视图,其他是资产.

疯狂延迟的示例


我们用谷歌搜索了几个小时,尝试了一些不同的东西,但没有一个有效.像这样的一些解决方案指向一些Apache的httpd.conf设置,但我放弃了,因为我使用相同的服务器用于其他项目,这从未发生过(无论如何我试过了,但是没有用).其他人指出PHP版本冲突,所以我尝试将我的MAMP中的PHP从5.4.10更改为5.2.17(该项目需要5.2.3+),但这似乎也不起作用.

除了我的MAMP安装,我们还在带有WAMP(PHP5.5)的Windows机器上测试了它,并且在另一台带有干净MAMP(PHP5.5)的Mac上进行了测试,在这两种环境中都会发生同样的事情.所以,我们现在想知道问题是否可能出现在CodeIgniter本身(这听起来不太可能)或某些项目配置中,但我们对CodeIgniter(也不是PHP专家)都是新手,并且找不到任何东西.

哦,我们也尝试联系原始的开发人员,但是他们说这是两年前,听起来他们不愿意提供帮助.我真的希望他们在开发这个项目的时候没有这个问题,因为在30秒的加载时间内工作它只是疯了.

有人有任何想法或了解我们可以尝试找到问题的更多内容吗?如果需要,我可以发布一些代码.



更新:我刚刚发现这个未解决的问题,其中用户遇到了与Laravel类似的问题,但有时只是.正如我所说,在我的情况下,这种情况总是发生,延迟时间从大约10秒到几分钟.



更新2:正如Wrikken所建议的,我通过xdebug探查器运行它,但我不确定如何解释结果以查看问题所在.我用PHPStorm的"Analyze Xdebug Profiler"工具打开了一个快照,并按照每个调用中使用的时间对其进行了排序.以下是一些截图:

执行统计选项卡 调用树选项卡

并按自己的时间排序:

按自己的时间排序

这CashewModel显示一些排队是某种自定义库由以前的开发者,这也是造成我们已经解决了一些问题建.我希望问题不会隐藏在那里,因为我不知道大多数自定义代码是如何工作的.

有任何想法吗?同样,我可以根据需要发布代码.



更新3:深入研究代码,MY_Controller在上面的屏幕截图中,以前的开发人员创建了一些扩展的自定义控制器CI_Controller.我刚刚发现他们将所有腰果代码推送到GitHub,这是MY_Controller文件.

我还会在这里粘贴第467行的所有相关代码(在GitHub的版本中是464),它涉及_remap内部的功能,CashewController并且是探查器说所有时间花费的地方.我将一些评论和名称翻译成英文.

/**
 *
 * Extension of the default controller, adding support for templates
 * 
 * Usage example:
 *
 * class Dummy extends EC_Controller
 * {
 *     public function index()
 *     {
 *         $this->add_section('id_in_template', 'page_name');
 *         $this->render_page(); // Renders the default …
Run Code Online (Sandbox Code Playgroud)

php apache mamp codeigniter codeigniter-2

5
推荐指数
1
解决办法
692
查看次数

Codeigniter - SEO友好的URL结构(Slug实现)


我想在codeigniter框架中开发一个网站,我可以通过slug访问任何网页.

例如,就像WordPress和Magento一样,我们可以通过www.sitename.com/category_type/category_detailpage访问类别页面,

我们也可以通过在主URI www.sitename.com/category_detailpage之后添加slug来直接访问Category_detail.

所以我的问题是,如果你在Codeigniter中有这个Slug目录的任何案例研究项目代码,我如何设计数据库中的slug表模式,请尽快告诉我.

提前致谢!

php wordpress codeigniter magento slug

5
推荐指数
1
解决办法
1万
查看次数