EventLog el = new EventLog("Application");

el.Source = "my_src_name";

el.WriteEntry("오류 메시지", EventLogEntryType.Error);


다음과 같은 오류 발생

Security Exception

 Description: The application attempted to perform an operation not allowed by the security policy.  To grant this application the required permission please contact your system administrator or change the application's trust level in the configuration file.

Exception Details: System.Security.SecurityException: The source was not found, but some or all event logs could not be searched.  Inaccessible logs: Security.

Source Error:

[No relevant source lines]


Source File: c:\Windows\Microsoft.NET\Framework\v2.0.50727\Temporary ASP.NET Files\license\3ebadbd0\51884812\App_Web_2wv6qvf1.0.cs    Line: 0

Stack Trace:

[SecurityException: The source was not found, but some or all event logs could not be searched.  Inaccessible logs: Security.]
....


해결방법

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\EventLog -> NETWORK SERVICE user에 Full Control 퍼미션 추가

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\EventLog\Application\my_src_name 키 직접 추가

블로그 이미지

란마12

,

IIS8에 PHP설치 삽질기

web 2015. 8. 21. 16:30

1. MS에서 간단히 설치지원해준다.

 1) http://www.microsoft.com/web/downloads/platform.aspx (웹 플랫 폼설치 관리자)

 2) Free Download 클릭 후 실행하고 상단에서 제품탭을 클릭 후 검색창에 PHP로 검색

 3) 최신 버전 선택 후 추가버튼 누르고 하단에 설치버튼 클릭


2. PHP 5.5.11버전을 설치했는데 PHP파일 소스가 그대로 보이는 문제 발생

 1) php.ini파일에서 short_open_tag = On 설정 바꾸고 웹서비스 재시작해도 소용없음.

 2) PHP설치 하면 IIS관리자에 PHP Manager라는 항목이 생긴다.

 3) PHP Manager에서 php.ini의 항목들을 설정할 수 있는데

    PHP Settings의 하위항목 중 Manage all settings를 클릭하여 설정창을 연다.

 4) short_open_tag 항목을 On으로 바꿔도 소용없다.

    다시 자세히 보니 short_open_tag항목이 두개가 있고 한놈이 Off로 설정되어 있다?

    On으로 바꿔도 바뀌질 않는다.

    Off로 설정된 항목을 삭제해버리니 해결됨.(버그인가?.. 뭔가 재시작을 확실히 안해서 그런 느낌.. 아마 OS재시작 했으면 됐을 지도...)

 5) 기본적으로 PHP오류 발생 시 브라우저에 오류내용이 표시되지 않는다.

    개발환경에서는 디버깅을 위해 필수로 보여져야 하므로 display_errors항목을 On으로 바꾼다.

블로그 이미지

란마12

,

PHP로 간단한 문자열을 리턴하는 스크립트를 짜고 브라우저에서 실행해보니..

리턴한 문자열 외에 ' ' + ascii(13) + ascii(10)이 추가된다.

문제는 스크립트 마지막 괄호 ?>까지 실행되면 저런 문제(?)가 있는 듯하다.

괄호 전에 exit해주면 문제 없음.

블로그 이미지

란마12

,

'/' 응용 프로그램에 서버 오류가 있습니다.

이 형식의 페이지가 제공되지 않습니다.

설명: 요청한 페이지 형식은 명시적으로 금지되어 있으므로 처리되지 않습니다. 확장명 '.mdb'이(가) 잘못된 것 같습니다. 아래 URL의 철자가 정확한지 확인하십시오.

요청한 URL입니다.: /license/Download/PM_IDB.mdb


버전 정보: Microsoft .NET Framework 버전:2.0.50727.42; ASP.NET 버전:2.0.50727.210

 

 

서버에서 일반적이지 않은 파일형식들은 차단하는 것같다.

이럴 경우,  web.config파일에 원하는 파일형식을 추가한다.



  <httpHandlers>
          <!--mdb파일 다운로드 허가-->
         <add verb="*" path="*.mdb" type="System.Web.StaticFileHandler"/>
          <!--소스 다운받게?-->
          <!--
          <add verb="GET,HEAD" path="*" type="System.Web.StaticFileHandler"/>
          -->
          <!--소스 다운못받게-->
          <!--
          <add verb="*" path="*.vb" type="System.Web.HttpNotFoundHandler,System.Web" />
          <add verb="*" path="*.cs" type="System.Web.HttpNotFoundHandler,System.Web" />
          <add verb="*" path="*.vbproj" type="System.Web.HttpNotFoundHandler,System.Web" />
          <add verb="*" path="*.csproj" type="System.Web.HttpNotFoundHandler,System.Web" />
          <add verb="*" path="*.webinfo" type="System.Web.HttpNotFoundHandler,System.Web" />
          -->
  </httpHandlers>

블로그 이미지

란마12

,

방화벽에 system32밑의 inetinfo.exe를 허가해준다.
블로그 이미지

란마12

,

맨티스 charset 설치

web 2009. 8. 8. 01:27


기존 사용하고 있는 db가 mssql이라 맨티스를 붙여보려고 삽질하다가..
기본 db가 mysql이라 잘 안붙나보다 하고 mysql설치하고 하루 종일 삽질...

일단 정확한 오류를 보기 위해서 맨티스의 기본 언어를 english로 설정한다.
그냥 아무 설정 변경없이 맨티스를 mysql에 설치하고 계정을 추가할 때
한글이름을 넣고 추가하면 다음과 같은 에러가 발생한다.

APPLICATION ERROR #401
Database query failed. Error received from database was #1267: Illegal mix of collations (latin1_swedish_ci,IMPLICIT) and (utf8_general_ci,COERCIBLE) for operation '=' for the query: SELECT id
FROM mantis_user_table
WHERE username='한글명'.

맨티스의 기본 언어가 korean으로 되어 있다면 db가 알려주는 세부 에러메세지를
표시하지 않는다. 문제의 원인은 에러메세지에 표시되어 있다.
db의 문자셋은 latin1_swedish_ci인데 utf8_general_ci문자셋으로 저장하려고 하니 안되는 거다.
우선 테이블 생성부터 다시 해야한다. 기존에 데이터가 있는 경우라면 테이블을 일일이 수정해야겠지만
나는 공db라 그냥 다시 생성했다. 블로그 어딘가에서 일괄적으로 변경해주는 스크립트를 본 것같다.

맨티스의 테이블 스크립를 담당하는 파일(.\admin\schma.php)을 수정한다.
'TYPE=MyISAM'을 모조리 'TYPE=MyISAM DEFAULT CHARSET=utf8'로 찾아바꾸기 한다.

주절 주절 떠들었지만... 이게 다다. -_-

다른 곳에서는

mysql> show variables like 'c%';
+--------------------------+--------------------------+
| Variable_name            | Value                    |
+--------------------------+--------------------------+
| character_set_client     | latin1                   |
| character_set_connection | latin1                   |
| character_set_database   | utf8                     |
| character_set_filesystem | binary                   |
| character_set_results    | latin1                   |
| character_set_server     | latin1                   |
| character_set_system     | utf8                     |
| character_sets_dir       | C:\mysql\share\charsets\ |
| collation_connection     | latin1_swedish_ci        |
| collation_database       | utf8_general_ci          |
| collation_server         | latin1_swedish_ci        |
| completion_type          | 0                        |
| concurrent_insert        | 1                        |
| connect_timeout          | 10                       |
+--------------------------+--------------------------+
14 rows in set (0.00 sec)

위에 표시되는 항목들을 원하는 문자셋으로 맞추는 것에 대해 많이 얘기를
하고 있는데.. 도움이 될 경우도 있을 것같아 적는다..
위에서 보이는 모든 항목을 utf8로 맞추려면 다음 두가지 명령이면 된다.
mysql> set names utf8;
Query OK, 0 rows affected (0.00 sec)
mysql> set session character_set_server=utf8;
Query OK, 0 rows affected (0.00 sec)

mysql> show variables like 'c%';
+--------------------------+--------------------------+
| Variable_name            | Value                    |
+--------------------------+--------------------------+
| character_set_client     | utf8                     |
| character_set_connection | utf8                     |
| character_set_database   | utf8                     |
| character_set_filesystem | binary                   |
| character_set_results    | utf8                     |
| character_set_server     | utf8                     |
| character_set_system     | utf8                     |
| character_sets_dir       | C:\mysql\share\charsets\ |
| collation_connection     | utf8_general_ci          |
| collation_database       | utf8_general_ci          |
| collation_server         | utf8_general_ci          |
| completion_type          | 0                        |
| concurrent_insert        | 1                        |
| connect_timeout          | 10                       |
+--------------------------+--------------------------+
14 rows in set (0.00 sec)

 다음은 config_defaults_inc.php에서 수정한 항목들..

 $g_default_language  = 'korean';

 $g_administrator_email = '메일주소';
 $g_webmaster_email  = '메일주소';
 $g_from_email   = '메일주소';
 $g_return_path_email = '메일주소';

 $g_phpMailer_method  = 2;
 $g_smtp_host   = '공인IP';

 $g_file_upload_method = DISK;
 $g_absolute_path_default_upload_folder = 'E:/mantis/upload/';

 $g_show_realname = ON;

블로그 이미지

란마12

,