반응형

ubuntu 14.04 에서 apache2 위에 php 코드이그나이터 프로젝트를 올렸는데, 


index.php가 없어지지 않는 문제가 발생했다.


기본적으로 코드이그나이터 쪽 셋팅은 한 상태이며, 로컬에서는 문제가 없었다. 

http://nahosung.tistory.com/23 - 코드이그나이터 셋팅 한 글 )


codeigniter 에서 설정하는 부분은 위에 링크해놓은 글에서 보고 설정하면 됩니다.


첫번째로 apache2의 mod_rewrite 를 활성화 하기 위해서 아래의 명령어를 실행합니다.

 

sudo a2enmod rewrite


그리고 apache를 재실행 합니다.


sudo service apache2 restart


( 다른 ubuntu에서 설정할때는 이것만으로 설정이 끝났습니다. )


두번째로 000-default.conf 파일을 열어 수정 하도록 합니다.

( vi /etc/apache2/sites-available/000-default.conf  )


다른 글들을 검색해 봤을때 아래와 같은 내용이 존재하며, 


<Directory "/var/www/html"> AllowOverride None </Directory>

(일부분 내용이며, 더 길게 내용이 있을수도있습니다. 저부분만 확인하면됩니다. )


AllowOverride None -> AllowOverride All


None을 All로 수정합니다.


저는 다른 글들과 다르게 저러한 내용이 없었기 때문에, 


DocumentRoot /var/www/html  부분 아래에 다음과 같은 내용을 넣고 저장했습니다.


<Directory "/var/www/html"> AllowOverride All </Directory>


그리고 아파치를 재시작하니 index.php가 사라진 것이 적용 됐습니다.


sudo service apache2 restart

반응형
반응형

(

파일 업로드 실패하는데 어떤 오류인지 모르는 경우는 

위와 같이 화면에 오류를 확인하여 어떤 오류인지 먼저 파악해야한다.

)


코드이그나이터 파일 업로드 중에 아래와 같은 오류가 발생했다.


The filetype you are attempting to upload is not allowed '




위와 같이 config에 넣어준 파일종류에서도 오류가 발생했다.

우선 에러가 나는 파일 업로드 소스 뒤에 

$this->upload->do_upload( "file" ) 

print_r($_FILES);


을 사용하여 파일의 type을 확인해야 한다.


화면에 [type] => application/octet-stream 와 같이 출력이 될것이다.


그럼 config/mimes.php 파일을 열어


오류가 나는 파일 종류의 뒤에 위에서 찾은 type의 값을 추가 해 준다.  



위와같은 방식으로 추가한 후 다시 파일을 업로드 해보면 파일이 정상적으로 업로드 된다.

반응형
반응형


ci에서 email 전송시에 제목의 문자가(한글) 깨지는 현상이 나타났다.

(네이버,네이트 등등... 다른메일은 괜찮은데 gmail에서만 발생)


다른 사람들도 문제가 생긴적이 있긴 한 것 같은데 

정확한 원인은 모르겠짐만 아래와 같이 수정하여 해결


system/libraries/Email.php 파일을 아래와 같이 수정


/**

* Set Email Subject

*

* @access public

* @param string

* @return void

*/

public function subject($subject)

{

$subject='=?UTF-8?B?' . base64_encode ( $subject ) . '?=';

//$subject = $this->_prep_q_encoding($subject);

$this->_set_header('Subject', $subject);

return $this;

}


<textarea name="code" class="brush:php;"> 


$subject = $this->_prep_q_encoding($subject);

->

$subject='=?UTF-8?B?' . base64_encode ( $subject ) . '?=';


반응형
반응형

정상적으로 작동하다가 Disallowed Key Characters. 에러가 발생


검색해 보니 여러 이유가 있는듯 했음...


system - core - Input.php 파일을 수정하여 해결



function _clean_input_keys($str) 를 검색하여


preg_match("/^[a-z0-9:_\/-]+$/i", $str))   부분에 | 추가


preg_match("/^[a-z0-9:_\/-]+$|/i", $str))


반응형
반응형

An Error Was Encountered

In order to use the Session class you are required to set an encryption key in your config file.


ci를 사용하여 세션을 생성하려하는데 다음과 같은 에러가 발생하였다. 


application - config - config.php 파일의 아래와 같은 부분이 공백이기때문이다.


$config['encryption_key'] = '';


위의 내용을 채워주면 오류가 발생하지 않는다.

(아무 내용이나 적어도 상관없으면 긴것이 좋다)

반응형
반응형

application - config - config.php 파일 수정


//$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']);


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

.htaccess 파일 수정 (이 파일은 index.php 와 같은 경로에 존재해야 하며, 없을경우 생성해주면된다.)

-index.php 파일이 최상위 경로에 있는경우
<IfModule mod_rewrite.c>
 RewriteEngine On
 RewriteBase /
 RewriteCond $1 !^(index\.php|images|captcha|data|include|uploads|js|robots\.txt)
 RewriteCond %{REQUEST_FILENAME} !-f
 RewriteCond %{REQUEST_FILENAME} !-d
 RewriteRule ^(.*)$ /index.php/$1 [L]
</IfModule>

-index.php 파일이 하위 폴더 경로에 있는경우 (이것을 찾지 못하여 시간이 좀 걸림)
<IfModule mod_rewrite.c>
 RewriteEngine On
 RewriteBase /
 RewriteCond $1 !^(index\.php|images|captcha|data|include|uploads|js|robots\.txt)
 RewriteCond %{REQUEST_FILENAME} !-f
 RewriteCond %{REQUEST_FILENAME} !-d
 RewriteRule ^(.*)$ 폴더경로/index.php/$1 [L]
</IfModule>


반응형
반응형


https://ellislab.com/codeigniter/user-guide/installation/downloads.html

위의 사이트에서 코드이그나이터를 다운 받는다.


다운받은 압축 파일을 풀어 준다.


이클립스에서 php 프로젝트를 생성한 공간에 코드이그나이터 압축파일을 복사 붙여넣기 해준다.


위와 같은 화면이 나오면 정상적으로 연동이 된 것 입니다.

반응형
반응형



먼저 APMSETUP을 설치하여 준다.

http://www.apmsetup.com/download.php

위의 사이트에서 apm setup을 설치하여주면된다. 

(저장할때 파일명이 깨지는 경우가있는데, 마음대로 파일명을 바꾼후 .exe 확장자만 붙여주면된다.)

설치하는 방법은 그냥 다음 버튼을 클릭하여 설치 완료하기때문에 생략한다.


(이클립스 설치는 생략 설치 이후 과정)

이클립스에서 php 개발 툴 (php developement tool) PDT를 설치해야 한다.

이클립스 실행후 Help -> Install new Software.. 를 클릭하여 PDT를 설치하여 준다.

Work with : 에서 자신의 이클립스 버전에 맞는 realeases를 아래와 같이 선택하여, php 로 검색하여 PDT를 선택하여 설치합니다.

(PDT가 여러개 나오면 그중 아무거나 받아도 상관없음...)




PDT 설치 이후에 window -> Perspective -> Open Perspective -> Other... 를 클릭하여 PHP를 선택한다. (PHP로 개발을 하기위해서..)


 이클립스 우측 상단에 위와 같이 php가 나온 것을 확인 할 수 있다.

(제일 왼쪽 아이콘을 클릭하여 php로 선택이 가능하다.)


Winodw -> Preferences -> php -> php excutables 를 클릭하여 Add 클릭

Name을 맘대로 작성하고, 

Excutable path 의 경로를  C:\APM_Setup\Server\PHP5\php.exe  지정해준다.

PHP in file 의 경로를  C:\APM_Setup\php.ini  지정해준다.

(위의 경로는 apmsetup 설치시 기본 경로이며, 설치경로가 다른경우 자신의 apmsetup 경로에서 찾아서 지정해주면된다.)

OK 클릭



Winodw -> Preferences -> php -> Servers 를 클릭하여 Add 클릭 (이미 서버가 있으면 Edit를 눌러도 무방)

Server Name 을 작성하고, Document Root를 C:\APM_Setup\htdocs 지정해준다.

(위와 마찬가지로 apmsetup 경로가 다른경우 자신의 경로에 맞게 지정)

OK 클릭


php 프로젝트를 생성한 후에 실행을 해보면 작동하는 것을 확인 할 수있다.












반응형

+ Recent posts