> 백엔드 개발 > PHP 튜토리얼 > win7 64비트 Apache http 서버 PHP 구성

win7 64비트 Apache http 서버 PHP 구성

WBOY
풀어 주다: 2016-07-25 09:12:06
원래의
1142명이 탐색했습니다.

1. 먼저 apache http 서버를 다운로드합니다. (원래는 공식 홈페이지에서 다운로드하고 싶었으나 오랫동안 검색해도 찾을 수 없어서 온라인에서 이전 버전을 다운로드했습니다.) 이 웹사이트: http://download .csdn.net/download/chang87812/7175961

PHP 다운로드: 마찬가지로 공식 홈페이지(URL: (http://windows.php.net/downloads/releases/))에서 최신 버전을 다운로드했습니다.

그런데 구성하고 나니 문제가 생겼습니다.

문제는 다음과 같습니다. httpd: D:/PHP/server/httpd-2.2-x64/conf/httpd.conf의 129행에 구문 오류가 있습니다. D:/ApaServ/php/php5apache2_4.dll을 서버에 로드할 수 없습니다: xd5xd2xb2xbbxb5xbdxd6xb8xb6xa8xb5xc4xc4xa3xbfxe9xa1 xa3 .

이유는 이 파일이 버전과 일치해야 하기 때문입니다. 그렇지 않으면 로드할 수 없습니다. 나중에 동일한 프롬프트가 다시 나타 났지만 php5.4.8로 변경되었습니다. 174 행에서 "D:ApaServphpphp5apache2_4.dll"의 활성화 컨텍스트 생성에 실패했습니다. 종속 어셈블리 vcredist_x86.exe를 찾을 수 없습니다. 나중에 해결 방법은 다음과 같습니다. vcredist_x86.exe를 다시 설치합니다. 이는 Apache를 설치하기 전에 설치되었기 때문에 내부 파일을 찾을 수 없습니다. 온라인에서도 살펴봤습니다. C:Program FilesMicrosoft Visual Studio 8VCredi stDebug_NonRedistx86Microsoft.VC80.DebugCRT와 같은 파일에서 다음 파일을 찾았습니다.
msvcm80d.dll msvcp80d.dll msvcr80d.dll Microsoft.VC80.DebugCRT.manifest 이 파일을 복사하세요. 실행 중인 프로그램과 동일한 폴더에 있는 대상 컴퓨터에 복사하거나 system32 아래에 넣으면 올바르게 실행됩니다.
다른 릴리스 버전, MFC 프로그램 등의 경우 redist 아래의 해당 폴더에 파일을 복사하면 됩니다.

이 메시지를 보고 바로 생각이 났습니다. 나중에 php5.5를 설치했을 때 또 이런 오류 메시지가 떴습니다. 처음에는 제가 이해한 대로 VCC2010 런타임 라이브러리를 설치했는데, 아무리 디버깅을 해도 계속해서 이 오류가 발생했습니다. 2012 런타임 라이브러리에서 가장 높은 버전의 VC가 즉시 성공했습니다. (이 이유는 인터넷에서 찾았지만 실행해본 적은 없습니다. 더 이상 VC 2012 런타임 라이브러리를 설치하고 싶지 않습니다!!!)

그래서 인터넷에서 이전 버전의 PHP를 찾았습니다. 다운로드 URL: http://download.csdn.net/download/tonyyxm/5428271

2. 아파치 설치

1. 32비트 아파치와는 다르게 exe 파일로 패키징되어 바로 설치가 가능합니다. 먼저 httpd-2.2.19-win64를 E:/server/apache-httpd-2.2.19-win64에 압축을 풀어주세요. / (/* E는 특정 서버 파일이 있는 드라이브 문자입니다 */)

2. 관리자로 명령 프롬프트를 실행하고(Start-Programs-Accessories) E:/server/apache-httpd-2.2.19-win64/

를 입력합니다.

3. httpd -k install 실행

여기서 문제가 발생했습니다. winNT 서비스 관리자를 열지 못했습니다.

해결 방법: 소프트웨어 설치 중에 소프트웨어가 Windows 7의 "사용자 계정 컨트롤"(UAC)과 충돌하는 것으로 나타났습니다. 먼저 UAC를 끄십시오(제어판-사용자 계정 및 가족 보안-시스템 및 보안 작업 센터에 "사용자 계정 컨트롤 설정 변경"이 있으며 이를 알리지 않음으로 변경합니다. 완료 후 다시 시작하라는 메시지가 표시되며 이후에는 문제가 발생하지 않습니다. 설치가 완료된 후 다시 돌려주세요.

4. httpd.conf를 수정하세요. 여기 구성은 32비트 시스템과 동일합니다

(1) ServerRoot "E:/server/httpd-2.2.19-win64/" 수정

(2) 아래에서는 다음과 같이 Apache에 의해 활성화된 함수 모듈을 볼 수 있습니다: #LoadModule vhost_alias_module module/mod_vhost_alias.so

모듈 뒤에는

이 옵니다.

LoadModule php5_module "E:/Server/php-5.3.6-Win32-VC9-x64/php5apache2_2.dll"

PHPiniDir "E:/Server/php-5.3.6-Win32-VC9-x64/"

AddType 애플리케이션/x-httpd-php .html .htm .php

(3) 계속해서 DocumentRoot "E:/Code/PHP/" 줄을 찾아 웹 페이지 파일 디렉터리를 설정합니다. 이 줄을 # 줄로 수정합니다. 이는 디렉터리 설정 해당

5. 명령 프롬프트에서 다시 httpd -k start를 실행하면 오류가 발생하지 않고 Apache 서비스가 성공적으로 시작됩니다.

6. Apache 서버 종료: httpd -k shutdown 실행

3. PHP 구성

1. 위에서 언급한 대로 내 PHP 디렉터리를 이전 단계에서 Apache에 설정한 LoadModule 위치에 해당하는 E:/Server/php-5.3.6-Win32-VC9-x64/에 압축을 풉니다.

2. php.ini-development를 php.ini로 수정합니다

3. php.ini를 열고 Extension_dir을 찾아 해당 값을 E:/Server/php-5.3.6-Win32-VC9-x64/ext/(php 파일이 있는 디렉터리)로 수정합니다/ext

4. 확장자 목록을 찾아 ;extension=php_gd2.dll, ;extension=php_mysql.dll, ;extension=php_mysqli.dll 앞에 있는 ";"을 제거하여 확장자를 활성화합니다. , 다양한 기능 요구 사항에 따라 해당 확장 프로그램을 활성화할 수 있습니다

5. (선택 사항) date.timezone 값을 Asia/Shanghai로 설정합니다. 즉, date.timezone =Asia/Shanghai

6. E:/Code/PHP/ 아래에

콘텐츠가 포함된 test.php 파일을 만듭니다.

phpinfo()

?>

그런 다음 브라우저 주소 표시줄에 http://localhost/test.php를 입력하세요

위 구성 프로세스는 다른 사람의 것입니다. 제가 구성한 후 다음 두 가지 문제가 발생했습니다.

1. httpd: 서버의 정규화된 주소를 안정적으로 확인할 수 없습니다

해결책: 서문: Apache가 실행될 수 있지만 error.log의 ServerName에 대해 192.168.x.x를 사용하여 httpd.exe: Could not Reliable the server's FQDN(Fully Qualified Domain Name) 오류가 표시됩니다. 포트 80을 차지하는 다른 것이 있는지 확인하고 싶습니다.
시작--실행--cmd 명령 프롬프트에 들어가서 netstat -ano를 입력하여 모든 연결의 PID를 확인한 다음 작업에서 이 PID에 해당하는 프로그램을 찾으세요. 작업 관리자에 PID 항목이 없으면 작업 관리자에서 "보기" - "열 선택"을 선택할 수 있습니다.
종종 응용 프로그램을 시작할 때 시스템에 필요한 포트가 점유되어 있는 것을 발견합니다. 우리가 필요한 포트를 점유하면 많은 사람들이 두통을 겪습니다. 여기 아주 간단한 방법이 있습니다.
누가 우리를 점유하는지 확인해야 할 경우 80 포트
1. Windows 플랫폼
Windows 명령줄 창에서 실행:
C:>netstat -aon|findstr "80"
TCP 127.0.0.1:80 0.0.0.0:0 LISTENING 2448
포트가 프로세스 ID인 것을 확인하셨나요? 2448의 프로세스를 점유하려면 다음 명령을 계속 실행하세요.
C:>tasklist|findstr "2448"
thread.exe 2016 Console 0 16,064 K
스레드가 포트를 점유하고 있는 것이 확실합니다. 킬
두 번째 단계에서 찾을 수 없으면 작업 관리자를 열고 어떤 프로세스가 2448인지 확인한 다음 킬하세요.
필요한 경우 다른 포트를 확인하세요. 80
보충 내용을 변경하세요. 이 오류(httpd.exe: ServerName에 대해 192.168.1.111을 사용하여 서버의 정규화된 도메인 이름을 안정적으로 확인할 수 없음)의 원래 이유는 DNS가 제대로 구성되지 않았기 때문입니다. DNS를 구성하려면 httpd.conf에서 앞에 ServerName localhost:80을 추가하세요.

2. "(OS 10013) 접근 권한이 허용하지 않는 방식으로 소켓에 접근을 시도했습니다. : make_sock: 0.0.0.0:80 주소에 바인딩할 수 없습니다."

해결책: 포트를 변경하고, .apacheconfhttpd.conf를 열고, 80을 모두 81로 변경하고, 저장하고 Apache를 다시 시작하세요.

포트를 변경한 후 다음 URL을 방문하세요: http://localhost:81/test.php

스크린샷:



원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿