2016-03-19 26 views
5

tôi cần phải chạy cập nhật sáng tác tại lưu trữ của tôi vì vậy tôi đăng nhập với ssh và cố gắng chạy COMAND:Composer giới hạn bộ nhớ cập nhật

composer update 

bên trong thư mục/www, nơi tôi có laravel và nhà soạn nhạc instalation

nhưng tôi nhận được lỗi: enter image description here

tiếp xúc với nhà cung cấp hosting của tôi họ cho tôi biết để chạy lệnh:

php -d memory_limit=512M composer update 

Tôi chạy lệnh này nhưng tôi nhận được: "Không thể mở tệp: nhà soạn nhạc"

Việc cần làm? Soluton ở đây là gì?

+1

Như @Sven đã nói, trong quá trình sản xuất 'nhà soạn nhạc cài đặt' là đủ. Trong trường hợp của bạn, trong khi sử dụng một lưu trữ được chia sẻ, tôi nghĩ rằng bạn sẽ không nhận được 'composer update' làm việc, vì vậy cách duy nhất là mua một VPS lưu trữ như Digital Ocean, Linode. – Lucas

Trả lời

12

Khi bạn chạy composer update, Hệ điều hành sẽ xem xét các đường dẫn được định cấu hình và cố gắng định vị tệp thực thi có tên đó.

Khi chạy php composer update, chuỗi composer được coi là tham số cho PHP, không được tìm kiếm trong bất kỳ đường dẫn nào. Bạn phải cung cấp đường dẫn đầy đủ để chạy nó.

Chạy which composer sẽ cho bạn biết nơi hệ điều hành tìm nhà soạn nhạc thực thi, và sau đó bạn chỉ cần sử dụng đường dẫn đầy đủ trong lệnh PHP:

$>which composer 
/usr/local/bin/composer 

$>php -d memory_limit=512M /usr/local/bin/composer update 
... 

Lưu ý rằng 512MB có thể là quá ít. Nhận thức của tôi là nó sẽ vui vẻ lấy 1GB trở lên, tùy thuộc vào số lượng phụ thuộc bạn sử dụng và nhiều phiên bản mà bạn cho phép, tức là nếu bạn cho phép Symfony ~2.3, thì bạn sẽ làm cho Composer đối phó với nhiều phiên bản hơn có thể so với sử dụng ~2.7.

Cũng lưu ý rằng việc chạy Composer trên máy sản xuất không phải là ý tưởng tốt nhất. Bạn sẽ phải có quyền truy cập vào Github, có thể cung cấp thông tin xác thực truy cập, đã cài đặt các công cụ VCS và bạn sẽ dễ dàng phá vỡ trang web của mình nếu bất kỳ máy chủ lưu trữ từ xa nào ngoại tuyến trong quá trình cập nhật của bạn. Đó là một ý tưởng tốt hơn để sử dụng Composer trên một hệ thống triển khai thực hiện tất cả việc chuẩn bị, và sau đó di chuyển tất cả các tệp lên máy chủ sản xuất.

+0

Tôi chỉ trích dẫn: php -r "readfile ('https://getcomposer.org/installer');" | php và sau đó tất cả mọi thứ hoạt động tốt ... cũng THANS CHO HELP – Andrew

+0

Làm việc cho tôi! Cảm ơn bạn đã giúp đỡ. – mapaladiya

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