환경 apache + php5.6.12
목적 유지보수를 위한 세팅(+apache 공부)
먼저 httpd.conf에서 rewrite를 설정
해당 과정에서 가장 먼저 일어난 것은 RewriteLog & RewriteLogLevel 모듈을 찾지 못하는 문제
메세지
Invalid command 'RewriteLogLevel', perhaps misspelled or defined by a module not included in the server configuration
원인 : apache 최신 버전에서 사용 안되게 바뀜.
해결 : 로그 방법 변경된 곳에서 설정
httpd.conf
#
# ErrorLog: The location of the error log file.
# If you do not specify an ErrorLog directive within a <VirtualHost>
# container, error messages relating to that virtual host will be
# logged here. If you *do* define an error logfile for a <VirtualHost>
# container, that host's errors will be logged there and not here.
#
ErrorLog "logs/error_log"
#
# LogLevel: Control the number of messages logged to the error_log.
# Possible values include: debug, info, notice, warn, error, crit,
# alert, emerg.
#
LogLevel alert rewrite:trace3
파일 내에 있는 부분에서 설정. 처음 로그레벨이 warm으로 되어있는 것을 alert으로 변경후 rewrite:trace1~8 사이로 설정
두 번째 문제
REQUEST_URI를 못찾음
[Tue Dec 01 16:46:34.657272 2015] [core:warn] [pid 5686:tid 139747095930624] AH00111: Config variable ${REQUEST_URI} is not defined
원인 : 문법 오류
해결 : $ -> % 변경
세 번째 문제
페이지 리다이렉트 되는 과정에서 페이지 못찾음
원인 : 내부적으로 초기 로딩되는 index.php/리다이렉트 주소 로 가야하는데 config에 설정된 루트의 경우
$route['blocation/(:any)'] = 'customer/Blocation/view/$1';
$route['customer/location'] = 'customer/Blocation';
$route['Bitemlist/(:any)'] = 'customer/Bitemlist/view/$1';
$route['customer/itemlist'] = 'customer/Bitemlist';
이런식으로 되어있음. 그래서 /index.php/~ 가 아니라 /~ 로 들어감.
해결 : rewrite로 index.php 붙여줌
RewriteEngine On
RewriteCond %{REQUEST_URI} ^/*customer/location [NC]
RewriteRule /*(customer/location)/*(.*) index.php/$1 [R,L]
인덱스에서 넘어가는 것만 고려한 거고, 다른 페이지 로딩에서 같은 문제가 생기는지는 아직 모름. 그 때되면 수정할거임.
네 번째 문제
폴더 생성 과정에서 권한이 없음
A PHP Error was encountered
Severity: Warning
Message: mkdir(): Permission denied
Filename: drivers/Session_files_driver.php
Line Number: 117
Backtrace:
File: /home/Client/application/controllers/customer/Blocation.php
Line: 15
Function: library
File: /home/Client/index.php
Line: 292
Function: require_once
An uncaught Exception was encountered
Type: Exception
Message: Session: Configured save path '/home/Client/system/../tmp_session' is not a directory, doesn't exist or cannot be created.
Filename: /home/Client/system/libraries/Session/drivers/Session_files_driver.php
Line Number: 119
Backtrace:
File: /home/Client/application/controllers/customer/Blocation.php
Line: 15
Function: library
File: /home/Client/index.php
Line: 292
Function: require_once
A PHP Error was encountered
Severity: Warning
Message: fopen(5bf3c3813034dfe3b1c2071abf8ab5c7a225c5af): failed to open stream: Permission denied
Filename: drivers/Session_files_driver.php
Line Number: 156
Backtrace:
댓글