标签: codeigniter

如何扩展PHP应用程序(服务器,mysql,memcache)

我目前正在为瑞士的社交项目创建一个网站.

在用户溢出之前,我想准备应用程序以进行扩展.

我自己回答了许多问题,但有些问题仍未解决.

我解释一下我想做什么.


第一

在开始时,应用程序将只有一个服务器(短时间)与DNS,PHP,Mysql,数据和内存缓存.


第二

然后我将它们分成两部分

  1. DNS,Mysql,memcache
  2. 数据,PHP

第三

这是问题所在,我不知道如何在这里完成它以保持应用程序运行良好.

我可以 :

  1. 前端:负载均衡器,内存缓存,DNS
  2. Web 1:PHP,DATA
  3. Web 2:PHP,DATA
  4. Mysql的

这将是方案,所有PHP会话都保存在DB中.

但是,我如何同步数据?运行Rsync以使其保持最新状态.将它们放在单独的磁盘(网络磁盘)上以确定吗?但在这种情况下,如果用户上传,我该怎么办?

如果网站获得更多成功并且我们必须继续进行更多结构,那么它会不会在更新上产生一些延迟?

或者直接访问亚马逊的网络服务会是一件好事吗?

一些信息 我使用codeigniter作为框架.我使用linux作为webserver(现在没有选择发布,但应该是Debian)

提前感谢您的回答.

php scalability codeigniter

16
推荐指数
2
解决办法
6073
查看次数

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

CodeIgniter PHP Apache 500内部服务器错误

我在CodeIgniter中做了一个项目.它在我的localhost上工作正常,但在远程服务器上给出了"500 Internal Server Error".这是我的.htaccess文件内容:

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

php apache .htaccess mod-rewrite codeigniter

16
推荐指数
3
解决办法
6万
查看次数

在CodeIgniter中上传多个文件

在我的CodeIgniter项目中,我在项目创建期间上传文件.这是上传功能:

function uploadFiles(){

     $this->load->library('upload');  
     $error = 0;    
     $projectName = $_POST['projectname'];
     mkdir('./uploads/'.$projectName);

     for($i=0; $i<count($_FILES); $i++)
     {

       $_FILES['userfile']['name']    = $_FILES['files']['name'][$i];
       $_FILES['userfile']['type']    = $_FILES['files']['type'][$i];
       $_FILES['userfile']['tmp_name'] = $_FILES['files']['tmp_name'][$i];
       $_FILES['userfile']['error']       = $_FILES['files']['error'][$i];
       $_FILES['userfile']['size']    = $_FILES['files']['size'][$i];

       $config['upload_path']   = './uploads/'.$projectName;
       $config['allowed_types'] = 'xml|etl';
       $config['max_size']      = '0';
       $config['overwrite']     = TRUE;

      $this->upload->initialize($config);

      if($this->upload->do_upload())
      {
        $error += 0;
      }else{
        $error += 1;
      }
     }

     if($error > 0){ return FALSE; }else{ return TRUE; }

}
Run Code Online (Sandbox Code Playgroud)

我在create_project函数中调用此函数,如下所示:

public function create_project() {
    $this->load->library('form_validation');

    $this->form_validation->set_rules('projectname', 'Project name', 'required');

    $this->form_validation->set_message('required', 'This is an obligatory field'); …
Run Code Online (Sandbox Code Playgroud)

php codeigniter file-upload

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

在WHERE条件下使用BETWEEN

我想要以下功能来选择一个$minvalue和某个住宿之间的住宿$maxvalue.最好的方法是什么?

function gethotels($state_id,$city,$accommodation,$minvalue,$maxvalue,$limit,$pgoffset)
    {
        $this->db->limit($limit, $pgoffset);
        $this->db->order_by("id", "desc");
        $this->db->where('state_id',$state_id);
        $this->db->where('city',$city);

        // This one should become a between selector
        $this->db->where($accommodation,$minvalue); 

        $result_hotels = $this->db->get('hotels');
        return $result_hotels->result();

   }
Run Code Online (Sandbox Code Playgroud)

php codeigniter

16
推荐指数
3
解决办法
9万
查看次数

将变量从控制器传递到CodeIgniter中的视图

我是Codeigniter和OOP PHP的新手.

控制器:

public function index(){
    $this->load->model('main_model');
    $planet = $this->main_model->solar();
    $this->load->view('main_view', $planet);    
    }
Run Code Online (Sandbox Code Playgroud)

如果echo $planet在控制器中它执行它应该做的事情.如果我echo $planet在视图中得到一个未定义的变量错误. $planet不是数组.为什么不将$planet变量传递给视图?

我知道这是一个简单而基本的问题,我很尴尬,我无法弄清楚我做错了什么.

编辑:好的,经过更多的摆弄,我得到了它的工作.变量只有在格式化为数组时才能从Controller传递到View?

php oop codeigniter

16
推荐指数
3
解决办法
7万
查看次数

CodeIgniter Flash数据

我正在努力使用CodeIgniter中的Flash Data.

我基本上想要:

将类别添加到数据库重定向用户返回到页面显示成功弹出消息"您的类别已创建"

到目前为止,我可以成功地将类别添加到数据库并正确验证用户输入,唯一的事情是我不知道如何创建弹出成功消息.(我不想加载成功视图),只需重定向回到他们来自的地方,并在顶角或其他地方显示小消息.

闪存数据是正确的方法吗?

php session post codeigniter

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

如何部署CodeIgniter/Laravel应用程序

在部署codeigniter/laravel应用程序时,我需要知道哪些是我的选择.

我一直在家里开发本地,当我去上班时,我需要一些快速的方法将所有更改推送到服务器.

需要更新应用程序代码,需要迁移数据库模式,并且必须重新启动应用程序服务器.

我手动浪费了大量的时间,我需要一些自动化的方式,比如在Rails环境中的capistrano.

我有什么选择?

更新: 我有自己的服务器机器,一切都需要在没有互联网连接的内部网环境中工作.

php codeigniter laravel

16
推荐指数
2
解决办法
4048
查看次数

使用CodeIgniter 2.xx运行命令行时遇到PHP错误

我已按照官方codeigniter网站上提供的确切指南来运行CLI(命令行界面)工具.https://www.codeigniter.com/userguide2/general/cli.html

我的控制器是......

<?php
class Tools extends CI_Controller {

    public function message($to = 'World')
    {
    echo "Hello {$to}!".PHP_EOL;
    }

} ?>
Run Code Online (Sandbox Code Playgroud)

当我从我的CMD运行以下命令时,我在命令行窗口中得到以下输出(和错误):

php index.php tools message

<h4>A PHP Error was encountered.</h4>
<p>Severity: Notice</p>
<p>Message: Undefined index: REMOTE_ADDR</p>
<p>Filename: core/Input.php</p>
<p>Line Number: 351</p>
.....
<h4>A PHP Error was encountered</h4>
<p>Message: Cannot modify header information - headers already sent by (output at C:{systempath}\system\2.1.4\core\Exceptions.php:185)</p>
<p>Filename: libraries/Session.php</p>
<p>Line Number: 675</p>

</div>Hello World!
Run Code Online (Sandbox Code Playgroud)

任何人都可以解释为什么我会遇到这个问题?我也按照官方的Codeigniter CLI教程来学习本教程 - 任何想法?我正在使用CodeIgniter 2.1.4和XAMPP(Windows).

php command-line codeigniter command-line-interface codeigniter-2

16
推荐指数
1
解决办法
9130
查看次数

如何在codeigniter中将http重定向到https

点#1 如果我键入:

www.myurl.com/somepage
http://www.myurl.com/somepage
http://myurl.com/somepage
https://myurl.com/somepage
Run Code Online (Sandbox Code Playgroud)

让它重定向到

https://www.myurl.com/somepage
Run Code Online (Sandbox Code Playgroud)

第2点

When I type in something like www.myurl.com it is redirecting to https://www.myurl.com/index.php.
Make it so the index.php is not displaying. It should just display https://www.myurl.com
Run Code Online (Sandbox Code Playgroud)

来自评论htaccess

RewriteEngine On 
RewriteCond %{HTTP_HOST} ^myhost\.com$ [NC] 
RewriteRule ^(.*)$ myhost.com/$1 [R=301,L] 
RewriteCond %{THE_REQUEST} ^[A-Z]+\ /index\.php(/[^\ ]*)?\ HTTP/ 
RewriteRule ^index\.php(/(.*))?$ myhost.com/$2 [R=301,L] 
RewriteCond %{REQUEST_FILENAME} !-f 
RewriteCond %{REQUEST_FILENAME} !-d 
RewriteRule ^(.*)$ index.php/$1 [L] 
Run Code Online (Sandbox Code Playgroud)

php .htaccess codeigniter

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