2014-10-06 5 views
0

내 처음으로 그것을 사용합니다.
나는 websocket ext를 사용하려고했다. 하지만 난 그것을 이해 해달라고 : 내가 그것을 다운로드이 문서 http://www.sanwebe.com/2013/05/chat-using-websocket-php-socket/에서/
폴더에 압축을 풉니 다, 나는 명령 프롬프트이Xampp + Php Websocket 최대 실행 시간 오류

c:\xampp\php\php-cgi.exe -q c:\inetpub\wwwroot\CC2\ws\server.php 

내가이 브라우저에서의 index.php를 열고 연결 실행 엽니 다. 두 개의 브라우저가 연결되어 있습니다. 그러나 30 초가 지나면 연결이 끊어집니다. cmd를보고이 오류가 발생했습니다.

C:\Users\traBolic>c:\xampp\php\php-cgi.exe -q C:\inetpub\wwwroot\CC2\ws\server.php 
<br /> 
<b>Fatal error</b>: Maximum execution time of 30 seconds exceeded in <b>C:\inetpub\wwwroot\CC2\ws\server.php</b> on line <b>28</b><br /> 

이해가 안 되는군요, 그게 정상입니까? 장기간에 연결을 유지하려면 어떻게해야합니까? PHP는 30 초 기본 최대 실행 시간을 가지고 있기 때문에

답변

0

당신은,

<?php set_time_limit (0); ?> 

당 무한에 PHP의 최대 실행 시간을 설정해야합니다. 웹 소켓을 PHP보다 훨씬 잘 처리하는 Socket.IO을 살펴보아야합니다.

안부

더스틴

편집 : socket.io 설명하지 미안

오는 ... Socket.IO는 nodejs을위한 모듈입니다 : Node.js를가 서버용 Chrome의 V8 Javascript 엔진 따라서 명령 줄에서 자바 스크립트를 사용하여 서버를 실행할 수 있습니다. Socket.io는 노드 모듈을 말한 것입니다. 노드 JS에서 node.JS에 대한 패킷 관리자 인 npm에서 모듈을 가져올 수 있습니다. 웹 소켓을 통해 클라이언트와 서버 사이의 양방향 연결을위한 기능을 제공하고 장시간 폴링 xhr 요청에 대한 폴백을 제공합니다. 가장 쉬운 방법은 그것을 시도하는 것입니다. 예를 들어 Chat 채팅 앱을 시작할 수 있습니다.

먼저 node.JS를 설치해야합니다.이 노드는 단순한 node.JS이어야합니다.

콘솔 :

>node index.js 

지금 인덱스를 열어 채팅을 사용할 수 있어야

당신은 Node.js를 서버에게 이미 PHP와 함께했던 같은 방법으로 시작할 수 있습니다. html 파일.

질문에 대답하십시오 : 아니오, 당신은 PHP로 socket.io를 시작할 수 없습니다. 그리고 xampp을 사용하여 nodejs 앱을 시작할 수도 없습니다.

지금 인터넷에 많은 자습서가 있습니다. 이미 PHP에 익숙하다면 Tutorials

최저

더스틴

+0

도움 주셔서 감사합니다. 하지만 지금은 PHP에 새로운 인스턴트 메신저. socket.io 사용법을 모른다. 내가 socket.io PHP와 함께 작동하지 않는 것 같아요? Windows xampp에서 socket.io 사용자를 어떻게 볼 수 있습니까? – traBolics

+0

ohh ... socket.io를 설명하지 못해 죄송합니다 ... ... 편집 ... –

+0

NodeJS를 시작하기 전에 그냥 분명히합니다. 나는 PHP를 완전히 떠날거야? 내가 맞습니까? – traBolics

1

당신은 완전히 새로운 플랫폼 (Node.js를/소켓으로 이동하고 싶지 않은 : 누군가가 이미 목록을 만들었습니다. io)를 사용하면 PHP로 웹 소켓을 구현할 수 있습니다.

WAMP (Web Application Messaging Protocol)의 PHP 구현 인 Thruway 프로젝트를 살펴보십시오. PHP로 작업하는 웹 소켓을 단순화하고 SubPub 및 RPC를 제공합니다.

저는 Thruway 개발자 중 한 명입니다. 질문이 있거나 도움이 필요하면 github에서 문제를 열 ​​수 있습니다.

WAMP에 대한 자세한 내용을 보려면 here's을 시작하십시오.

또한 php-cgi는 웹 서버에서 실행되도록 설계되었습니다. XAMPP에 php-cli.exe 또는 일반 php.exe가 있는지 확인하고 대신 사용하십시오.

+0

좋아, 그 말을하면 nodejs를 움직일 필요가 없다. @ Dustin의 대답은 set_time_limit (0)입니다. 하지만 이번에는 또 다른 문제가 있습니다 :/명령 프롬프트를 닫은 후/라이브 c : \ xampp \ php \ php-cgi.exe -q c : \ inetpub \ wwwroot \ CC2 \ ws \ server.php 명령을 유지하십시오. 리눅스에서는 서비스로 시작할 수 있습니다. 창문에서 할 수 있을까요? – traBolics

+0

좋아, Windows 서비스로 시작 명령으로 문제를 해결합니다. – traBolics