2013-05-23 31 views
6

Vì vậy, tôi đã thiết lập các máy ảo trên máy phát triển của mình nhưng khi tôi thử một tiếng vang rất đơn giản của 'hello world' nó bị treo trong 10 giây trước khi xử lý tệp . Các tệp HTML hiển thị rất nhanh. Tôi thậm chí còn bắt đầu khắc phục sự cố này ở đâu?Vagrant trên Windows w/Precise64 chạy php rất chậm

Sau khi thực hiện một số nghiên cứu, những người khác đã phàn nàn về hiệu suất chậm với php và virtualbox/lang thang. Nhiều người đã tuyên bố rằng việc sử dụng thư mục chia sẻ giữa máy chủ/khách là nguyên nhân của việc này.

  • Tôi đã thử thay đổi vị trí thư mục chia sẻ để nó không được chỉ vào/var/www/
  • Tôi cũng đã cố gắng loại bỏ các cấu hình thư mục chia sẻ hoàn toàn bằng cách loại bỏ các tuyên bố 'config.vm.synced_folder'

Trong mỗi trường hợp, tôi đã cấp lại hộp nhưng vẫn gặp vấn đề về hiệu suất, ít nhất là 10 giây khi nhấn một tập lệnh php đơn giản trong trình duyệt web.

Những điều khác tôi đã cố gắng:

  • chạy script php tương tự từ dòng lệnh. Điều này hoạt động tốt. Phản hồi ngay lập tức.
  • Nhập trang html từ trình duyệt web. Tôi cũng nhận được phản hồi nhanh.

Điều này khiến tôi tin rằng vấn đề là bằng cách nào đó với phần apache + php của ngăn xếp.

Không biết phải làm gì khác.

Trả lời

4

Sau khi đấu tranh với tình huống tương tự này, việc xóa sử dụng XDebug là giải pháp "duy nhất" mà tôi có thể tìm thấy.

Có tính đến một cấu hình mặc định Vagrant cơ bản từ https://puphpet.com/ như các poster ban đầu:

  • Removed dòng Xdebug từ "biểu hiện/default.pp"
  • Removed thư mục "modules/Xdebug /"
  • lang thang phá hủy
  • lang thang lên

Ghi chú:

  • Tôi đoán không bao gồm "xdebug" trên trang web được đề cập sẽ là giải pháp tốt nhất, nhưng tôi đã có những sửa đổi về cấu hình lang thang của mình.
  • Trong khi không phải là "lý tưởng" Giải pháp này giải quyết chậm nói và sẽ làm thay đổi vấn đề này trên "làm thế nào để kích hoạt và chạy đúng Xdebug trên cửa sổ hosts"

Hope this helps!

+0

Tôi chỉ có thể nhận xét về câu trả lời của riêng mình, vì vậy ở đây tôi đi :) Dường như trong các bản xây dựng gần đây của puphpet, điều này đã được giải quyết. Ít nhất tôi đã có một xây dựng mới, chèn mô-đun xdebug và cấu hình vào dự án hiện tại của tôi và bây giờ làm việc của nó ok. Ngoài ra, @ mike.darke giải quyết vấn đề là tốt hơn nhiều so với "giải pháp" của tôi, vì vậy nếu bạn thực sự cần xdebug trong âm đạo của bạn, bạn biết phải làm gì. – ivanicus

0

Bạn có thể phân bổ nhiều nguồn lực từ các máy chủ với

config.vm.provider :virtualbox do |vb| 

    vb.customize ["modifyvm", :id, "--memory", "3072", "--cpus", "2"] 
end 

Tôi không biết nếu điều đó sẽ giúp gì cả nhưng nó là tốt để biết.

7

Tôi vừa mới gặp phải vấn đề này.

Theo dõi từ ivanicus, nó liên quan đến cấu hình xdebug. Dường như yêu cầu bị treo trong khi xdebug đang cố gắng kết nối với máy khách gỡ lỗi từ xa. Tôi đã có thể giải quyết vấn đề bằng cách thiết lập ...

xdebug.remote_connect_back=0 
xdebug.remote_autostart=0 

Tôi đã sau đó thiết lập giá trị xdebug.remote_host đến IP của máy chủ, bạn cần chắc chắn rằng máy khách của bạn có thể kết nối đến máy chủ trên IP bạn đã đặt. Điều này cho phép tôi gỡ lỗi trong PhpStorm.

Nó không giống như bạn hiện có thể thiết lập các tùy chọn xdebug.remote_connect_back trong các thiết lập ini trên https://www.puphpet.com/ vì vậy tôi đã tự thay đổi nó trong php.ini

+0

Giải pháp này làm việc cho tôi – Anthony

+2

Bạn có thể làm rõ mã này đi đâu không? – helgatheviking

+0

Mã này đi vào php.ini –

1

Nhiều người đã khẳng định rằng việc sử dụng các chia sẻ thư mục giữa máy chủ/khách là nguyên nhân của việc này

Tôi thấy điều này chắc chắn là vấn đề trong trường hợp của tôi.

https://docs.vagrantup.com/v2/synced-folders/nfs.html

Như tôi đang sử dụng cửa sổ, tôi đã không thể sử dụng tùy chọn NFS một trong hai.

Để kiểm tra trường hợp này, tôi đã di chuyển tất cả các tệp SQLite mà tôi đã truy cập vào hộp bằng SFTP và hiệu suất quay lại mức tôi mong đợi.

+1

Để có được NFS để làm việc với thư mục đồng bộ trên Windows là cài đặt một plugin mơ hồ: 'vagrant plugin install vagrant-winnfsd'. Tôi nhận được thời gian tải trang từ 7-10 giây xuống 400-500 mili giây –