2015-06-13 21 views
8

Tôi đang theo hướng dẫn của Ratchet. Đối với trang SessionProvider, mã này là như thế này:PHP Ratchet: Class Memcache không tìm thấy

<?php 
// Your shell script 
use Ratchet\Session\SessionProvider; 
use Symfony\Component\HttpFoundation\Session\Storage\Handler; 
use Ratchet\App; 

$memcache = new Memcache; // Class not found on line 7 
$memcache->connect('localhost', 11211); 

$session = new SessionProvider(
    new MyApp 
    , new Handler\MemcacheSessionHandler($memcache) 
); 

$server = new App('localhost'); 
$server->route('/sessDemo', $session); 
$server->run(); 

PHP ném một lỗi nghiêm trọng khi tôi chạy kịch bản trong command-line:

Lớp Memcache không tìm thấy trong trên dòng 7

Mã này được đặt trong bin \ chat-server.php

Nội dung Wierd

Lớp học không chỉ có sẵn cho chat-server.php tập lệnh.

+1

Có thể rằng bạn đã thực hiện một trong những kịch bản trên dòng lệnh và một trong những khác thông qua một trình duyệt web? – lxg

+0

Bạn thực sự phải thêm mô-đun memcache vào PHP CLI. Nhưng, xin lỗi, tôi không biết cách thực hiện điều này trên Windows/XAMPP. – lxg

+0

Sự cố Memcache vẫn còn đó. Nó mở cửa cho câu trả lời. –

Trả lời

4

Có hai biệt phần mở rộng PHP cho dịch vụ memcached:

  • memcache
  • memcached < - lưu ý các d

Hình như bạn đã cài đặt sau một, trong khi bạn cần cái đầu tiên cho ứng dụng của bạn.

Bạn có thể tìm thấy phần mở rộng đúng cho Windows here

+0

Tiện ích mở rộng an toàn chủ đề cho Apache, phải không? Vâng, tôi không thể trao giải thưởng tiền thưởng bây giờ. Sẽ thử sau: D –

+2

Nếu bạn đang sử dụng Apache ở chế độ prefork, bạn có thể sử dụng phiên bản 'nts', có nghĩa là * không an toàn *, nếu không thì sử dụng phần mở rộng' ts' (* thread safe *). – hek2mgl

Các vấn đề liên quan