2012-07-08 48 views
7

Tôi gặp sự cố khi xây dựng/cài đặt XDebug trên Mac OSX bằng MAMP.Xây dựng/Cài đặt XDebug trên Mac OSX với MAMP

Tôi đã tìm kiếm trực tuyến rộng rãi từ trước đến nay và hiện tại tôi đang mắc kẹt trong phần XDebug "Installation Wizard" cho tôi biết "Chạy: phpize" trên mã nguồn tôi đã tải xuống.

Khi tôi chạy phpize tôi nhận được thông báo sau:

new-host-2:xdebug-2.2.0 Dima$ phpize 
grep: /usr/include/php/main/php.h: No such file or directory 
grep: /usr/include/php/Zend/zend_modules.h: No such file or directory 
grep: /usr/include/php/Zend/zend_extensions.h: No such file or directory 
Configuring for: 
PHP Api Version:   
Zend Module Api No:  
Zend Extension Api No: 
Cannot find autoconf. Please check your autoconf installation and the 
$PHP_AUTOCONF environment variable. Then, rerun this script. 

Nếu tôi làm một which phpize tôi nhận được:

new-host-2:xdebug-2.2.0 Dima$ which phpize 
/usr/bin/phpize 

Đây không phải là phiên bản tôi muốn sử dụng, tôi muốn sử dụng phiên bản cài đặt MAMP của phpize Tôi giả sử vì tôi muốn cài đặt XDebug trên phiên bản MAMP của PHP. Điều này thật khó hiểu vì tôi đã thêm đường dẫn PHP bin cụ thể của MAMP vào tệp .bash_profile của tôi đã có trong biến số $PATH.

Nếu tôi chạy echo $PATH tôi nhận được:

new-host-2:xdebug-2.2.0 Dima$ echo $PATH 
/opt/local/bin:/opt/local/sbin:/Applications/MAMP/bin/php/php5.4.3/bin:/Users/Dima/.rvm/gems/ruby-1.9.2-p290/bin:/Users/Dima/.rvm/gems/[email protected]/bin:/Users/Dima/.rvm/rubies/ruby-1.9.2-p290/bin:/Users/Dima/.rvm/bin:/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin:/usr/X11/bin 

Các MAMP cụ PHP con đường xuất hiện trước '/ usr/bin'. Điều tiếp theo tôi đã cố gắng đang chạy MAMP cụ phpize cung cấp nó toàn bộ đường dẫn bằng tay như sau:

new-host-2:xdebug-2.2.0 Dima$ /Applications/MAMP/bin/php/php5.4.3/bin/phpize 
-bash: /Applications/MAMP/bin/php/php5.4.3/bin/phpize: Permission denied 

Bây giờ tôi kiểm tra quyền truy cập vào các tập tin trong Finder và nó cho thấy rằng tôi có đầy đủ quyền đọc và ghi các tập tin thư mục này. Tôi hơi lạc mất. Bất kỳ trợ giúp sẽ được đánh giá rất nhiều. Tôi có thể đăng bất kỳ thông tin bổ sung nào nếu việc chẩn đoán sự cố này sẽ hữu ích.

Trả lời

3

Sau khi nghiên cứu thêm và thử và sai tôi quản lý để cài đặt nó sau khi làm những điều sau đây:

  1. Trong Terminal, tôi chạy chmod u+x /Applications/MAMP/bin/php/php5.4.3/bin/* Để mở thực thi điều khoản trên phpize và mọi thứ khác ở chỗ con đường
  2. Tiếp theo this article để cài đặt các công cụ dòng lệnh
  3. Làm theo this article để cài đặt autoconf mới nhất và các công cụ liên quan
  4. Sau khi thực hiện theo các bước được cung cấp bởi XDebug Wizard đã hoạt động mà không bị cản trở

Đây là một nhức đầu lớn. Hy vọng câu trả lời này sẽ tiết kiệm cho người khác một chút thời gian trong tương lai.

8

Tôi đã thử ở trên và tôi đã không hoàn toàn làm việc cho tôi, vì vậy tôi Googled một số chi tiết và đây là những gì đã làm các trick.

  1. Tải về và giải nén các MAMP Components từ SourceForge

  2. Hãy ghi nhớ các đường dẫn (s) mà không được tìm thấy trong quá trình phpize, đối với tôi đó là:

    /Applications/MAMP/bin/php/php5.2.17/include/php/main/php.h 
    
    /Applications/MAMP/bin/php/php5.2.17/include/php/Zend/zend_modules.h 
    
    /Applications/MAMP/bin/php/php5.2.17/include/php/Zend/zend_extensions.h 
    
  3. Tạo đường dẫn cần thiết trong thư mục MAMP php của bạn, một lần nữa cho tôi là

    /include/php/ 
    
  4. Đảm bảo các điều khoản đúng về thư mục

  5. Tìm các thành phần cho phiên bản đích PHP của bạn (trong trường hợp của tôi 5.2.17) và sao chép chúng vào con đường mà bạn đã tạo ở bước 3.

  6. Run hướng dẫn để sử dụng phiên bản phpize đúng từ Xdebug site

Tôi hy vọng rằng sẽ giúp người khác vì tôi mất quá nhiều thời gian để giải quyết vấn đề này!

+0

Mọi góp ý về nơi 'Tìm các thành phần cho phiên bản PHP đích của bạn)? – greg

+1

Để tìm các tệp đó, hãy tải xuống nguồn PHP. tức là cho 5.4 sử dụng liên kết này: http://us2.php.net/get/php-5.4.4.tar.gz/from/a/mirror. Bạn có thể trích xuất và kết xuất toàn bộ nội dung trong /Applications/MAMP/bin/php/php5.2.17/include/php/ được thực hiện ở bước 3 hoặc chỉ cần tệp. hoặc sẽ hoạt động! – greg

11

Đã xảy ra sự cố tương tự nhưng tìm thấy giải pháp tốt hơn

xDebug đã có trong MAMP.

Kiểm tra php.ini của bạn

/Applications/MAMP/conf/php5.x/php.ini 

Go tất cả các con đường xuống. Bạn sẽ thấy

[xdebug] 
;zend_extension="/Applications/MAMP/bin/php5.X/lib/php/extensions/no-debug-non-zts-20090626/xdebug.so" 

sự thay đổi đó vào

[xdebug] 
zend_extension="/Applications/MAMP/bin/php5.X/lib/php/extensions/no-debug-non-zts-20060613/xdebug.so" 
xdebug.remote_enable=1 
xdebug.remote_host=localhost 
xdebug.remote_port=9000 
xdebug.remote_handler=dbgp 

máy chủ Restart ... DONE!

http://danpolant.com/want-to-run-xdebug-mamp-is-the-easiest-way/

+0

Thật vậy. XDEBUG đã sẵn sàng để sử dụng với MAMP (ít nhất là phiên bản PRO) – MEM

+0

Ngay cả với phiên bản không chuyên nghiệp, giải pháp này hoạt động! Đơn giản hơn rất nhiều, cảm ơn bạn đã hướng dẫn! : D – Daan

+0

Đối với trường hợp của tôi, nó được tìm thấy trong: /Applications/MAMP/bin/php/php7.X/lib/php/extensions/no-debug-non-zts-20160303/xdebug.so –

0

dễ trong C của nó: \ MAMP \ conf \ php xxx \ thư mục và mở mỗi php.ini liên quan và sau đó chỉ cần đặt dòng này trong php.ini

[xdebug] 

xdebug.default_enable=1 

xdebug.remote_enable=1 
xdebug.remote_handler=dbgp 
xdebug.remote_host=localhost 
xdebug.remote_port=9000 
xdebug.remote_autostart=1 

zend_extension="C:\MAMP\bin\php\php5.5.0\ext\php_xdebug.dll" 
+0

Hey Ramin, chỉ từ câu trả lời của bạn có vẻ như bạn đang cung cấp giải pháp cho các cửa sổ, câu hỏi luôn là Mac OS X cụ thể, thậm chí còn nói như vậy trong tiêu đề câu hỏi. –

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