标签: codeigniter

设置Apache进行本地开发/测试?

Rails的截屏视频给我留下了深刻的印象,它展示了内置的Web服务器,以及允许在本地机器上进行开发和测试的数据库.我如何获得一个Apache实例来执行项目目录作为其DocumentRoot,并可能在端口8080(或类似的东西)上提供文件?

我问的原因是因为我将要尝试CodeIgniter,我想将它用于多个项目.我宁愿不要弄乱我的机器的DocumentRoot.关于如何进行数据库迁移的建议也是受欢迎的.


感谢您对目前的回复.我应该澄清一下,我使用的是Mac OS X.看起来WAMP只适用于Windows.此外,XAMPP看起来是安装Apache和许多其他Web工具的好方法,但我没有看到加载实例来提供项目目录的方法.Mac OS X同时安装了Apache和PHP - 我只是想找到一种方法来让它在非标准端口上提供服务.

我刚发现MAMP Pro可以满足我的需求,但如果可行的话,更简约的方法会更好.有没有人有一个可以编辑并放入项目目录的httpd.conf文件?

另外,抱歉我刚刚提到了数据库迁移问题.我希望找到的东西能够让我将架构更改推送到实时服务器而不会丢失现有数据.我怀疑这很难,而且高度依赖环境因素.

php apache codeigniter

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

如何使用codeigniter中的memcached

如何使用memcachedcodeigniter,以及如何存储会话数据memcached.请帮我.

谢谢

memcached codeigniter

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

使用Code Igniter存储密码最安全的方法是什么?

我正在为我当前的项目使用Code Igniter.

截至目前,我正在使用MD5进行密码散列,但我已经在很多地方阅读过,这样做并不是一个好习惯.

我该怎么办?

  1. 使用盐
  2. 或者我应该使用bcrypt

另外,如果建议使用bcrypt,那么如何将它与Code Igniter一起使用?

编辑

我把这些文件放进去了 application/libraries

  1. PasswordHash.php
  2. C/Makefile文件
  3. C/crypt_private.c

在我的控制器中,我使用此代码 -

$params = array(
       'phpass_hash_strength' => 8,
           'phpass_hash_portable' => FALSE
       );
$this->load->library('PasswordHash', $params);
$password = $this->passwordhash->HashPassword($pwd);
Run Code Online (Sandbox Code Playgroud)

我收到这些错误 -

A PHP Error was encountered

Severity: Notice

Message: Uninitialized string offset: 3

Filename: libraries/PasswordHash.php

Line Number: 116
Run Code Online (Sandbox Code Playgroud)
A PHP Error was encountered

Severity: Warning

Message: strpos() [function.strpos]: Empty delimiter

Filename: libraries/PasswordHash.php

Line Number: 116
Run Code Online (Sandbox Code Playgroud)

更新

现在PasswordHash.php使用SimpleLoginSecure删除了.

codeigniter salt password-protection bcrypt password-hash

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

PHP多部分表单数据PUT请求?

我正在编写一个RESTful API.我使用不同的动词上传图片时遇到问题.

考虑:

我有一个对象可以通过post/put/delete/get请求创建/修改/删除/查看到URL.当有文件要上传时,请求是多部分形式,或者当只有文本要处理时,请求是application/xml.

要处理与对象关联的图像上传,我正在执行以下操作:

    if(isset($_FILES['userfile'])) {
        $data = $this->image_model->upload_image();
        if($data['error']){
            $this->response(array('error' => $error['error']));
        }
        $xml_data = (array)simplexml_load_string( urldecode($_POST['xml']) );           
        $object = (array)$xml_data['object'];
    } else {
        $object = $this->body('object');
    }
Run Code Online (Sandbox Code Playgroud)

这里的主要问题是当尝试处理put请求时,显然$ _POST不包含put数据(据我所知!).

作为参考,我正在构建请求:

curl -F userfile=@./image.png -F xml="<xml><object>stuff to edit</object></xml>" 
  http://example.com/object -X PUT
Run Code Online (Sandbox Code Playgroud)

有没有人有任何想法如何xml在我的PUT请求中访问变量?

php rest curl codeigniter http

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

Codeigniter的sess_time_to_update如何工作

基于以下问题/答案 CodeIgniter会话类无法在Chrome中运行

我遇到的问题是,人们无法从远离美国服务器的其他国家/地区登录我的网站.在线搜索之后,我偶然发现了一个建议,该建议描述了问题是如何根据服务器的时区和用户的时区之间的差异而定的.因此,通过扩展session_expiration,我设法解决了问题,人们可以成功登录.

我的问题是sess_time_to_update是否创建了一个新的时间戳,它会注销用户,因为新的时间戳是在错误的时区吗?我是否必须使新的sess_time_to_update超过17个小时,以便涵盖最广泛的时区,如我所链接的问题中所述.是否有其他方法可以根据用户的本地时间在用户的浏览器中存储会话(不要求他们在配置文件和其他类型的用户不友好方案中选择时区).我希望有一个2小时的默认会话到期时间+ 800秒.更新时间.我没有使用数据库来存储会话,我宁愿不使用它.

codeigniter

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

CodeIgniter:尝试Catch在模型类中不起作用

我unique对列有一个约束.当这段代码运行时,我从框架中获取错误日志,但它不是我在Exception块中给出的.
如果存在唯一列,那么我想查询其主键并将其设置为$id并返回到页面.现在它正在停止db错误而不是进入Catch block.
这是我的代码:

try {
            $result = $this->db->insert('email', $new_email);
            if ($result)
            {
                $id = $this->db->insert_id();    
            } else {
                throw new Exception("$$$$$$$$$$$$$Log database error");
            }
        } catch (Exception $e) {
            log_message('error',$e->getMessage());
            return;
        }
Run Code Online (Sandbox Code Playgroud)

**Error Messages** 我从框架得到:

DEBUG - 2013-04-07 05:00:38 --> DB Transaction Failure
ERROR - 2013-04-07 05:00:38 --> Query error: Duplicate entry 
Run Code Online (Sandbox Code Playgroud)

我不知道它有什么问题.

php codeigniter

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

Codeigniter活动记录中的Concat

我正在尝试Concat进行自动填充,使用CI的Active Record.

我的查询是:

$this->db->select("CONCAT(user_firstname, '.', user_surname) AS name", FALSE);
$this->db->select('user_id, user_telephone, user_email');
$this->db->from('users');
$this->db->where('name', $term);
Run Code Online (Sandbox Code Playgroud)

我不断从这个说法得到MySQL错误:

错误号码:1054

'where子句'中的未知列'name'

这是真的,但我刚刚在我的Concat子句中创建了.理想情况下,我需要$ term来匹配Concatenated firstname和surname字段.

有什么想法我可以做些什么来改善这个?我正在考虑把它写成一个扁平的MySQL查询..

提前致谢

activerecord codeigniter

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

Codeigniter中的JQuery Ajax POST

我已经用POST方法搜索了很多教程,并在这里看到了回答的问题,但我的POST仍然不起作用......我想我应该在这里发布,如果你们看到我不知道的东西!

我的js - messages.js:

$(document).ready(function(){   

    $("#send").click(function()
    {       
     $.ajax({
         type: "POST",
         url: base_url + "chat/post_action", 
         data: {textbox: $("#textbox").val()},
         dataType: "text",  
         cache:false,
         success: 
              function(data){
                alert(data);  //as a debugging message.
              }

     return false;
 });
 });
Run Code Online (Sandbox Code Playgroud)

我的观点 - chat.php:

<?php $this->load->js(base_url().'themes/chat/js/messages.js');?> //i use mainframe framework which loading script this way is valid



<form method="post">
    <input id="textbox" type="text" name="textbox">
    <input id="send" type="submit" name="send" value="Send">
</form>
Run Code Online (Sandbox Code Playgroud)

最后我的控制器 - chat.php

//more functions here

function post_action()
{   
    if($_POST['textbox'] == "")
    {
        $message = "You can't send empty …
Run Code Online (Sandbox Code Playgroud)

jquery post codeigniter

12
推荐指数
2
解决办法
9万
查看次数

如何在codeigniter中检查请求是否是POST或GET请求?

我只是想知道是否有一种非常简单的方法来确定请求是$_POST一个$_GET请求还是一个请求.

这是否Codeigniter有这样的事情?

$this->container->isGet();
Run Code Online (Sandbox Code Playgroud)

php codeigniter http-get http-post request

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

将MSMTP与CodeIgniter电子邮件库一起使用

使用msmtp时,有没有人能够使用标准CodeIgniter电子邮件库成功发送电子邮件?

我正在运行Ubuntu,我已经成功安装并配置了MSMTP.我已经能够从命令行发送电子邮件,并使用默认的PHP mail()函数.

我的application/config/email.php文件看起来像这样

$config = array(
    'protocol' => 'sendmail',
    'mailpath' => '/usr/bin/msmtp -C /etc/msmtp/.msmtprc -t',
    'smtp_host' => 'smtp.gmail.com',
    'smtp_user' => 'myemail@gmail.com',
    'smtp_pass' => 'xxxxxxxx',
    'smtp_port' => 587,
    'smtp_timeout' => 30,
    'smtp_crypto' => 'tls',
);
Run Code Online (Sandbox Code Playgroud)

但这不起作用.如果有人成功了,那么知道你是怎么做的会很好.理想情况下,我想使用CodeIgniter的电子邮件库,因为它有很多很好的功能,我不想自己编写.

php email codeigniter

12
推荐指数
2
解决办法
451
查看次数