2009-05-15 24 views
8

Tôi về cơ bản mới đối với PEAR (và PhpDocumentor); Tôi đã cài đặt phpDocumentor sử dụng CLI PEAR, và tất cả mọi thứ dường như đi tốt ... cho đến khi tôi đã đi để sử dụng nó, lúc này tôi đã nhận lỗi sau:PhpDocumentor được cài đặt qua PEAR trên OSX không hoạt động - thiếu tệp?

Warning: require(PhpDocumentor/phpDocumentor/phpdoc.inc): 
failed to open stream: No such file or directory in 
/usr/local/bin/phpdoc on line 40 

Fatal error: require(): Failed opening required 
'PhpDocumentor/phpDocumentor/phpdoc.inc' (include_path='.:/usr/share/pear') 
in /usr/local/bin/phpdoc on line 40 

tôi không thể tìm thấy bất cứ điều gì trên mạng về lỗi , vì vậy tôi đã gỡ bỏ cài đặt/cài đặt lại thông qua dòng lệnh một lần nữa mà không có lỗi, nhưng tôi nhận được cùng một vấn đề. Tôi đã bỏ qua một cái gì đó? Như tôi đã nói tôi khá mới đối với PEAR :)

Cảm ơn. D

Trả lời

0

PhpDocumentor/phpDocumentor/phpdoc.inc có tồn tại không? Liệu nó tồn tại trong/usr/share/lê? Nếu câu trả lời là "có" và "không" tương ứng, sau đó bạn cần phải thêm bất cứ điều gì dir PhpDocumentor là trong đường dẫn bao gồm của bạn.

Câu chuyện dài ngắn, tìm phpdoc.inc và sau đó làm việc từ đó.

+0

Xin chào! Cảm ơn bạn đã trả lời. Tôi đã có một cái nhìn ... không, phpdoc.inc dường như không tồn tại ở bất cứ đâu. Cũng không tồn tại dir/usr/share/pear Hmm. Dodgy lê cài đặt có thể? Thực ra, tôi vừa kiểm tra một số gói đã cài đặt. MDB2 được cài đặt ví dụ, nhưng require_once trong một kịch bản ném một lỗi nghiêm trọng. Tôi có lẽ đã không đặt một đường dẫn bao gồm hoặc một cái gì đó? –

4

Để tìm ra nơi PEAR đang đặt mọi thứ, hãy chạy pear config-show. Nếu PEAR đã nói trước đó rằng nó đã cài đặt thành công PhpDocumentor cho bạn, thì tệp bạn đang tìm kiếm sẽ được tìm thấy trong giá trị của thiết lập php_dir (trên máy Mac của tôi, đây là /usr/lib/php/PEAR).

Giá trị php_dir này được đặt trong include_path của bạn cho hầu hết các gói PEAR hoạt động đúng cách. Kể từ /usr/share/pear Dường như có trong include_path của bạn, theo lỗi mà bạn đưa vào ở trên, tôi phải đoán rằng cài đặt PEAR của bạn có php_dir được đặt thành một số vị trí khác.

Bây giờ, nếu bạn muốn thay đổi cài đặt PEAR của mình để trỏ đến /usr/share/pear, bạn cần hiểu điều gì đó về cách PEAR cài đặt mọi thứ. Nhiều gói sử dụng install-time text replacement, cài đặt cài đặt của BẠN vào chính mã của gói. Nếu bạn nhìn lại đầu ra pear config-show của mình, bạn sẽ thấy một số cài đặt * _dir khác (data_dir, bin_dir, www_dir, v.v.). Vì vậy, điều quan trọng là chúng được thiết lập như bạn muốn chúng TRƯỚC KHI bạn cài đặt các gói của bạn. Đừng lo lắng, đó là không quá muộn cho các gói bạn đã cài đặt rồi.

Để thay đổi cài đặt PEAR, hãy sử dụng pear config-set (setting name) (setting value), như pear config-set php_dir /usr/share/pear. Vì chỉ php_dir là hoàn toàn cần thiết để có trong include_path của bạn, bạn có thể có thể để lại các thiết lập khác như chúng được. Tôi thường đảm bảo rằng tất cả chúng đều trỏ vào cùng thư mục gốc, chỉ để giữ mọi thứ ở một vị trí tổng thể.

Khi bạn thay đổi bất kỳ cài đặt nào trong số này, bạn nên chạy pear update của mỗi gói bạn đã cài đặt. Điều này sẽ thực hiện là thực hiện install-time text replacement Tôi đã đề cập trước đó, nhưng lần này sẽ sử dụng các cài đặt hiện tại, tức là những cài đặt bạn vừa hoàn tất thiết lập. Chạy điều này trên gói chính PEAR đầu tiên, pear update --force pear ... bạn sẽ phải bao gồm cờ --force vì PEAR sẽ nhận ra bạn đang yêu cầu tôi cập nhật gói khi nó đã 'hiện tại' và dừng bản thân. Khi bạn đã chạy update cho TẤT CẢ các gói đã cài đặt của bạn, bản cài đặt PEAR của bạn sẽ có các tệp được đặt nơi hiện tại include_path của bạn đang mong tìm thấy chúng.

4

Vâng, câu hỏi này là cũ, nhưng tôi chỉ có cùng một vấn đề này và giải quyết nó sau nhiều đầu gãi vì vậy tôi nghĩ rằng tôi muốn chia sẻ.

Tôi chạy pear config-show dưới dạng @ashnazg chi tiết và php_dir được đặt thành /usr/lib/php. Tôi đã thử chạy phpdoc -h từ đó và - thì đấy! -- nó đã làm việc. Vì vậy, vấn đề đối với tôi là PHP cần biết về con đường này. Tôi đã chỉnh sửa php.ini (cho tôi là /private/etc/php.ini) và chỉnh sửa include_path để bao gồm /usr/lib/php. Mine sau đó trông giống như:

include_path = ".:/usr/lib/php" 

Sau đó, nó hoạt động như một sự quyến rũ! Hy vọng điều này sẽ giúp người khác ra khỏi đó. FWIW, tôi đang sử dụng Snow Leopard và tôi đã cài đặt phpdoc bằng cách chạy sudo pear install phpdocumentor.

+0

Cảm ơn vì điều đó! Tôi đã có cùng một vấn đề trên Mountain Lion. Nó phải là con đường mặc định được sử dụng là dành cho Linux (mà sẽ có ý nghĩa) và đó là khác nhau trên OS X. – Bendihossan

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