การอัปเดต PHP นักแต่งเพลง“ ไม่สามารถจัดสรรหน่วยความจำ” ข้อผิดพลาด (ใช้ Laravel 4)


169

ฉันไม่สามารถแก้ปัญหานี้ได้

ฉันใช้แผนพื้นฐาน Linode 1G RAM พยายามติดตั้งแพ็คเกจผ่านตัวแต่งเพลงและมันก็ไม่ยอมให้ฉัน ขีด จำกัด หน่วยความจำของฉันถูกตั้งค่าเป็น "-1" บน PHP.ini

มีอะไรอีกบ้างที่ฉันสามารถทำได้เพื่อติดตั้งนี้?

Loading composer repositories with package information
Updating dependencies (including require-dev)
  - Installing thujohn/rss (dev-master df80a7d)
    Downloading: 100%         
PHP Fatal error:  Uncaught exception 'ErrorException' with message 'proc_open(): fork failed - Cannot allocate memory' in phar:///usr/local/bin/composer/vendor/symfony/console/Symfony/Component/Console/Application.php:975
Stack trace:
#0 [internal function]: Composer\Util\ErrorHandler::handle(2, 'proc_open(): fo...', 'phar:///usr/loc...', 975, Array)
#1 phar:///usr/local/bin/composer/vendor/symfony/console/Symfony/Component/Console/Application.php(975): proc_open('stty -a | grep ...', Array, NULL, NULL, NULL, Array)
#2 phar:///usr/local/bin/composer/vendor/symfony/console/Symfony/Component/Console/Application.php(853): Symfony\Component\Console\Application->getSttyColumns()
#3 phar:///usr/local/bin/composer/vendor/symfony/console/Symfony/Component/Console/Application.php(818): Symfony\Component\Console\Application->getTerminalDimensions()
#4 phar:///usr/local/bin/composer/vendor/symfony/console/Symfony/Component/Console/Application.php(752): Symfony\Component\Console\Application->getTerminalWidth()
#5 phar:///usr/local/bin/com in phar:///usr/local/bin/composer/vendor/symfony/console/Symfony/Component/Console/Application.php on line 975

Fatal error: Uncaught exception 'ErrorException' with message 'proc_open(): fork failed - Cannot allocate memory' in phar:///usr/local/bin/composer/vendor/symfony/console/Symfony/Component/Console/Application.php:975
Stack trace:
#0 [internal function]: Composer\Util\ErrorHandler::handle(2, 'proc_open(): fo...', 'phar:///usr/loc...', 975, Array)
#1 phar:///usr/local/bin/composer/vendor/symfony/console/Symfony/Component/Console/Application.php(975): proc_open('stty -a | grep ...', Array, NULL, NULL, NULL, Array)
#2 phar:///usr/local/bin/composer/vendor/symfony/console/Symfony/Component/Console/Application.php(853): Symfony\Component\Console\Application->getSttyColumns()
#3 phar:///usr/local/bin/composer/vendor/symfony/console/Symfony/Component/Console/Application.php(818): Symfony\Component\Console\Application->getTerminalDimensions()
#4 phar:///usr/local/bin/composer/vendor/symfony/console/Symfony/Component/Console/Application.php(752): Symfony\Component\Console\Application->getTerminalWidth()
#5 phar:///usr/local/bin/com in phar:///usr/local/bin/composer/vendor/symfony/console/Symfony/Component/Console/Application.php on line 975

คำตอบ:


97

ค่อนข้างเก่า แต่ในกรณีที่มีคนใหม่กำลังมองหาวิธีแก้ปัญหาการอัปเดตเวอร์ชัน PHP ของคุณสามารถแก้ไขปัญหาได้

นอกจากนี้คุณควรจะยอมรับไฟล์ผู้แต่งของคุณและทำการติดตั้งนักแต่งเพลงในสภาพแวดล้อมการผลิตที่ใช้ทรัพยากรน้อยลง

รายละเอียดเพิ่มเติมได้ที่นี่: https://github.com/composer/composer/issues/1898#issuecomment-23453850


12
ยอดเยี่ยม! ที่ได้ผล ฉันไม่ได้อัพเกรด PHP ของฉัน แต่ยอมรับไฟล์ composer.lock และอัปเดตการติดตั้งทุกอย่างอย่างถูกต้อง ขอบคุณ.
ericbae

6
ไปงานปาร์ตี้สาย แต่ฉันเพิ่งปิด Apache และ MySQL มีเหตุผลที่ฉันใช้ RAM 512MB VPS ไม่ต้องการใช้เงิน
Kumar

11
การอัปเดต PHP ไม่ใช่วิธีแก้ปัญหา ฉันมี 7.0.21 และยังคงได้รับข้อผิดพลาดนี้
cj5

@ ทางออกของ Kumar นั้นเหมาะกับฉัน ง่ายสุด ๆ และเหมือนกับสิ่งต่าง ๆ ส่วนใหญ่ชัดเจนในการเข้าใจถึงปัญหาหลังการคืนดี :)
James Bridgewater

ขอบคุณมาก. ช่วยฉันสักครู่
Jay Geeth

404

ดูเหมือนว่าคุณไม่มีหน่วยความจำ swap ลองนี้

/bin/dd if=/dev/zero of=/var/swap.1 bs=1M count=1024
/sbin/mkswap /var/swap.1
/sbin/swapon /var/swap.1

ตามที่ระบุไว้โดย @ BlackBurn027 ในความคิดเห็นด้านล่างโซลูชันนี้ได้อธิบายไว้ที่นี่


27
คุณคุณเป็นอัจฉริยะ - ไม่ใช่ปัญหา php และการลบไฟล์จะไม่ช่วย ฉันต้องทำตามคำแนะนำของคุณ (ด้วย sudo) ใน VPS ของฉัน นี่เป็นคำตอบเดียวที่มีประโยชน์สำหรับเจ้าของ VPS
Croll

4
getcomposer.org/doc/articles/ …ตามที่กล่าวถึงโดยแหล่งที่มา
BlackBurn027

1
สิ่งนี้ได้ผลสำหรับฉัน แต่ฉันสับสนว่าคำสั่งเหล่านั้นกำลังทำอะไรจริง ๆ มีคนอธิบายได้ไหม
Joseph Astrahan

2
บางครั้ง 1024 ไม่เพียงพอ ... ใช้ 2048 แทน
psylosss

1
@JaberAlNahian คุณสามารถทำการสลับแบบถาวรได้โปรดตรวจสอบที่นี่ digitalocean.com/community/tutorials/…
Mohammed Omer

80

ในฐานะที่เป็นคู่มือการแก้ไขปัญหานักแต่งเพลงที่นี่ สิ่งนี้อาจเกิดขึ้นเพราะ VPS มีหน่วยความจำไม่เพียงพอและไม่มีพื้นที่สว็อปเปิดใช้งาน

free -m

เพื่อเปิดใช้งานการสลับคุณสามารถใช้ตัวอย่างเช่น:

sudo /bin/dd if=/dev/zero of=/var/swap.1 bs=1M count=1024
sudo /sbin/mkswap /var/swap.1
sudo /sbin/swapon /var/swap.1

หรือถ้าข้างต้นไม่ทำงานคุณสามารถลองสร้างไฟล์สลับได้

sudo fallocate -l 2G /swapfile
sudo chmod 600 /swapfile
sudo mkswap /swapfile
sudo swapon /swapfile

ขอบคุณมากที่ไม่ได้อัปเกรด php5 เป็น php7 มันใช้งานได้
Shadab K

คุณต้องรันบน CLI ของ Linux
Umair Hamid

มันทำให้เกิดข้อผิดพลาดอีกครั้ง แต่การเรียกใช้การปรับปรุงผู้แต่งหลังจากที่ทำงานได้ดี
Amir Hajiha

และคุณสามารถตรวจสอบ [เอกสารอย่างเป็นทางการ] [2] getcomposer.org/doc/articles/ …
Thilina Dharmasena

38

ฉันต้องเผชิญกับปัญหาเดียวกัน ฉันใช้ Microinstance ของ AWS ซึ่งมีหน่วยความจำน้อยกว่า ฉันลองตัวเลือกใดตัวเลือกหนึ่งด้านล่างและใช้งานได้เสมอ(ก่อนหน้านี้โปรดตรวจสอบว่าคุณติดตั้งนักแต่งเพลงเวอร์ชั่นล่าสุดหรือไม่)

sudo php -dmemory_limit=750M composer.phar update

หรือลบเนื้อหาของโฟลเดอร์ผู้จำหน่ายแล้วลองอัปเดตผู้แต่ง

sudo rm -rf vendor
sudo php -dmemory_limit=750M composer.phar update --no-scripts --prefer-dist
sudo php artisan --dump-autoload

ตัวเลือกที่สองพยายามอัปเดตส่วนประกอบทั้งหมดหากไม่มีการอัปเดตมันจะเลือกแพ็กเกจจากแคชมิฉะนั้นจะรับจาก dist

หมายเหตุ: โปรดเปลี่ยนขีด จำกัด หน่วยความจำตามที่คุณเลือก

หรือ

สร้างพาร์ทิชัน swapแล้วลอง Swap partition เป็นส่วนหนึ่งของฮาร์ดไดรฟ์ที่ linux ใช้เป็นหน่วยความจำเสมือนเมื่อหน่วยความจำกายภาพหมด มันคล้ายกับไฟล์ windows swap เท่านั้นแทนที่จะใช้ไฟล์จริง linux ใช้พาร์ติชันบนฮาร์ดไดรฟ์แทน

หวังว่านี่จะช่วยได้


1
ฉันลดขีด จำกัด หน่วยความจำลงเหลือ 500M และผู้แต่งติดตั้งสิ่งที่ฉันต้องการ
devNoise

คุณยังสามารถใช้ไฟล์ swap จริงแทนพาร์ทิชัน ดูcyberciti.biz/faq/linux-add-a-swap-file-howto
rwilson04

2
มีปัญหาเดียวกันในบัญชี Digital Ocean ของฉันแม้จะอยู่ที่ 250M ฉันก็ต้องหยุด Apache และ MySQL ก่อนที่ฉันจะสามารถเรียกใช้มันได้
tristanbailey

tristanbailey โซลูชันของคุณใช้งานได้ดีขอบคุณ! ก่อนที่ฉันจะหยุด mysql และ apache ฉันไม่สามารถอัปเดตได้แม้กระทั่งการตั้งค่าขีด จำกัด หน่วยความจำ php
Elias Kouskoumvekakis

เมื่อฉันเรียกใช้sudo php -dmemory_limit=750M composer.phar update ฉันพบข้อผิดพลาดนี้Could not open input file: composer.pharโปรดช่วยด้วย
Varun Naharia

15

ง่ายพิมพ์คำสั่งนี้:

rm -rf vendor/

rm -rf composer.lock

php composer install --prefer-dist

ควรทำงานกับเครื่องหน่วยความจำต่ำ


ทำงานให้ฉัน ฉันได้เขียนคำตอบที่ครอบคลุมไว้ที่นี่ - stackoverflow.com/questions/26850332/…
halkujabra

มันไม่ทำงาน และนี่เป็นการลบโฟลเดอร์ผู้จำหน่ายทั้งหมดของฉัน มันผิด!
Vladimir Kovalchuk

ปัญหาคืออะไรลบผู้ขาย? เพียงเรียกใช้การติดตั้ง / อัปเดตอีกครั้ง ...
insign

1
การลบผู้ขายนั้นไม่ผิดทั้งหมดแม้ว่าจะทำให้ไซต์เสียหายและทำให้สถานะนั้นเสียหายถ้าการติดตั้งยังคงไม่ทำงาน อย่างไรก็ตามไม่แนะนำให้ลบไฟล์ล็อคบนเครื่องที่ใช้งานจริง คุณควรจะยืนยันไฟล์ล็อคและติดตั้งเพียงอย่างเดียวไม่ใช่อัปเดต อันที่จริงแล้วโดยการลบไฟล์ล็อคคุณกำลังบังคับให้นักแต่งเพลงติดตั้งจากไฟล์ json ซึ่งเป็นที่มาของกระบวนการที่ใช้หน่วยความจำมาก (กำหนดรุ่นที่จะติดตั้ง)
Shauna

มันก็โอเคที่จะทำตามนี้ถ้าคุณไม่ได้อยู่ในสภาพแวดล้อมการผลิตเพราะมันจะทำลายโครงการจนกว่านักแต่งเพลงจะเสร็จสิ้นพร้อมกับการติดตั้ง
Bizarro

11

นี่คือขั้นตอนในการแก้ไขปัญหา: (ใช้วิธีการจัดสรรไฟล์ SWAP อย่างรวดเร็วทันที)

การติดตั้งเซิร์ฟเวอร์ SWAP (Ubuntu 16.04 SWAP เพื่อแก้ไขข้อผิดพลาดหน่วยความจำไม่เพียงพอ)

ตรวจสอบว่าคุณมีการสลับหน่วยความจำและขนาดดิสก์:

    sudo swapon -s
    free -m
    df -h

ทำไฟล์สลับ: (เปลี่ยน 1G เป็น 4G หากคุณต้องการหน่วยความจำ 4GB SWAP)

    sudo fallocate -l 1G /swapfile 

ตรวจสอบไฟล์สลับ:

    ls -lh /swapfile

กำหนด Swap ไฟล์:

    sudo chmod 600 /swapfile
    sudo mkswap /swapfile
    sudo swapon /swapfile

ตรวจสอบว่าสลับตกลงหน่วยความจำและขนาดดิสก์:

    sudo swapon -s
    free -m
    df -h

แนบไฟล์ Swap ในการรีสตาร์ทระบบ:

    sudo nano /etc/fstab
        /swapfile   none    swap    sw    0   0

ปรับเปลี่ยนการตั้งค่าไฟล์:

    cat /proc/sys/vm/swappiness
    cat /proc/sys/vm/vfs_cache_pressure

    sudo sysctl vm.swappiness=10
    sudo sysctl vm.vfs_cache_pressure=50

    sudo nano /etc/sysctl.conf

SWAP ลำดับความสำคัญของไฟล์: (0-100% => 0: อย่าสลับ, 100: ใส่ SWAP และปล่อย RAM)

        vm.swappiness=10

ลบไอโหนดจากแคช: (100: ระบบลบข้อมูลไอโหนดจากแคชเร็วเกินไป)

        vm.vfs_cache_pressure = 50

ฉันไม่รู้ว่าฉันต้องทำอะไรในขั้นตอนสุดท้ายsudo nano /etc/sysctl.confดังนั้นฉันข้ามมันแล้วรีสตาร์ต Nginx แล้วทำcomposer install(ก่อนหน้านี้ฉันได้ลบไดเรคทอรีผู้จำหน่าย) และทำงานได้ ขอบคุณ!
arhakim

10

ฉันมีปัญหาเดียวกันกับคนจรจัด ฉันแก้ไขโดยจัดสรรหน่วยความจำเพิ่มเติม

 config.vm.provider :virtualbox do |vb|
      vb.customize ["modifyvm", :id, "--memory", "1024"]
 end

1
แก้ไขปัญหานี้ให้ฉันด้วย ทราบว่าใน 2.x คนจรจัดแทนการที่คุณสามารถทำได้vb.customize ... vb.memory = 1024
acobster

10

ลอง

มันเป็นพื้นเพิ่มหน่วยความจำ swap

sudo /bin/dd if=/dev/zero of=/var/swap.1 bs=1M count=1024 && sudo /sbin/mkswap /var/swap.1 && sudo /sbin/swapon /var/swap.1


6
โปรดเพิ่มคำอธิบายลงในคำตอบของคุณเพื่อให้คนอื่นสามารถเรียนรู้ได้
Nico Haase

ฉันยอมรับว่านี่ควรมีคำอธิบายเพิ่มเติม แต่ก็ใช้งานได้สำหรับฉัน (โดยพื้นฐานแล้วมันเป็นการเพิ่มหน่วยความจำ swap) ขอบคุณ!
user1015214

8

ลองที่:

/bin/dd if=/dev/zero of=/var/swap.1 bs=1M count=1024

/sbin/mkswap /var/swap.1

/sbin/swapon /var/swap.1

1
โปรดเพิ่มคำอธิบายให้กับคำตอบของคุณโดยที่คนอื่นสามารถเรียนรู้จากมัน - โดยเฉพาะ: คุณเปลี่ยนแปลงอะไรบ้างเมื่อเปรียบเทียบกับคำตอบอื่น ๆ ที่ใช้วิธีการเดียวกัน จำเป็นต้องทำซ้ำคำตอบหรือไม่?
Nico Haase

7

นี่คือวิธีแก้ปัญหาที่ฉันพบว่าใช้ได้กับฉันทุกครั้ง:

df -h 
dd if=/dev/zero of=/swapfile bs=1M count=1024
sudo dd if=/dev/zero of=/swapfile bs=1M count=1024
mkswap /swapfile
sudo chmod 600 /swapfile
sudo mkswap /swapfile
sudo swapon /swapfile
echo 'echo "/swapfile  none  swap  defaults  0  0" >> /etc/fstab' | sudo sh

free -m

confirm u see your swap there:
total used free shared buffers cached
Mem: 494 335 158 0 19 62
-/+ buffers/cache: 254 240
Swap: 1023 3 1020

watch free -m

5
ว้าวการโพสต์คำสั่งโดยไม่อธิบายสิ่งที่พวกเขาทำอาจเป็นอันตรายได้! แม้ว่าฉันสามารถพูดได้อย่างแน่นอนว่ามันจะทำงานบนระบบส่วนใหญ่ โดยทั่วไปคุณกำลังสร้างการจัดสรรพื้นที่สว็อปเพื่อให้ HD สามารถใช้เป็น RAM นี่คือคู่มือที่ครอบคลุมเกี่ยวกับวิธีการทำเช่นนั้นอธิบายแต่ละคำสั่ง: digitalocean.com/community/tutorials/…
adelriosantiago

ขอบคุณสำหรับความกระจ่างของคำสั่งมันเป็นเรื่องดีที่รู้ว่าสคริปต์ทำอะไรก่อนที่คุณจะดำเนินการ แต่ในทำนองเดียวกันมันก็ไม่ดีเท่าไหร่ที่คุณจะโปรโมตมหาสมุทรดิจิตอลและโพสต์การสอน / บล็อกของคุณ
Goran

บทช่วยสอนนี้ยอดเยี่ยมแสดงคำอธิบายทีละขั้นตอน!
Tarik

ขอบคุณ! คำแนะนำช่วยให้ฉันติดตั้ง Drupal Presto สำหรับเซิร์ฟเวอร์ RAM ขนาด 1GB ฉันเปลี่ยน 1024 เป็น 2048
Nikit

7

ฉันพยายามโดยเพียงแค่การลบโฟลเดอร์ผู้ขายและcomposer.lockไฟล์และแล้วฉันเรียกใช้คำสั่งแล้วcomposer clear-cache composer installดังนั้นมันจึงทำงานได้โดยไม่มีข้อผิดพลาด


6

คุณสามารถใช้สิ่งต่อไปนี้เพื่อตรวจสอบหน่วยความจำว่าง (สลับ) ของคุณ

free -m

total used free shared buffers cached

Mem: 2048 357 1690 0 0 237
-/+ buffers/cache: 119 1928
Swap: 0 0 0

เพื่อเปิดใช้งานการสลับคุณสามารถใช้ตัวอย่างเช่น:

/bin/dd if=/dev/zero of=/var/swap.1 bs=1M count=1024
/sbin/mkswap /var/swap.1
/sbin/swapon /var/swap.1

ฉันใช้free -mและสังเกตเห็นว่าฉันไม่มีหน่วยความจำแม้แต่ในการสลับ .. จากนั้นก็ทำsudo rebootและใช้งานได้
Eleazar Resendez

4

ดูเหมือนว่าจะเป็นปัญหาที่เกิดขึ้นซ้ำกับ 1GB และอินสแตนซ์ของเซิร์ฟเวอร์ที่เล็กกว่า นอกเหนือจากการพยายามปิดกระบวนการและปรับแต่งการตั้งค่า swap คุณสามารถติดตั้งบนเครื่องท้องถิ่นและอัพโหลด


1
อ๋อ สิ่งที่ตลกคือถ้าฉันลบโครงการทั้งหมดทำการดึงคอมไพล์ใหม่แล้วทำการติดตั้งนักแต่งเพลงดูเหมือนว่าจะทำงานได้ แปลก.
ericbae

น่าผิดหวังฉันกำลังปรับใช้ L4 โปรเจ็กต์บางอย่างกับอินสแตนซ์ 1GB ของ Linode และตอนนี้ฉันกังวลเกี่ยวกับการกดปุ่มเพิ่มหน่วยความจำ
Makita

ลิงก์เก่า แต่อาจมีประโยชน์บางอย่าง: github.com/composer/composer/issues/1104
Makita

2
คำตอบที่ยอมรับยังคงเป็นวิธีที่ดีที่สุด คุณควรคอมไพเลอร์. ล็อคแล้วเรียกใช้การติดตั้งแทนการปรับปรุงบนเซิร์ฟเวอร์การผลิต
Makita

3

บางครั้งผู้แต่งอัปเดตตัวเองมันช่วยแก้ปัญหาได้

php composer.phar self-update

ไชโย


นี่เป็นสิ่งแรกที่ต้องลองแก้ไขปัญหา ฉันมีปัญหากับ 1.3.3 อัปเดตตัวเองเป็น 1.4.0 แก้ไขปัญหา เคล็ดลับ: คุณสามารถอัปเดตคำตอบของคุณเพื่อให้ครอบคลุมถึงกรณีการใช้งานของcomposer self-updateถ้าคนที่ไม่คุ้นเคยกับนักแต่งเพลงคืออ่านคำตอบนี้
Niklaus

ได้รับอนุญาตถูกปฏิเสธเมื่อเปลี่ยนชื่อเกิดขึ้น
แอนดรู

3

ลองสิ่งนี้:

/bin/dd if=/dev/zero of=/var/swap.1 bs=1M count=1024
/sbin/mkswap /var/swap.1
/sbin/swapon /var/swap.1

งานนี้สำหรับฉันบน Centos 6


สิ่งนี้ใช้ได้กับฉันใน AWS Opsworks EC2 Instance Ubuntu 14.04! ขอบคุณ!
Paul Preibisch

3

ฉันเพิ่ม PHP memory_limitจาก128Mเริ่มต้นเป็น512Mและรีสตาร์ทเซิร์ฟเวอร์ ที่แก้ไขปัญหา


3
ไม่ควรเริ่มระบบใหม่เนื่องจาก PHP ไม่ทำงานเป็นบริการ
HelpNeeder

1
ไม่มี แต่ Apache ไม่และดังนั้นจึงควรจะเริ่มต้นใหม่เพื่อให้มีผลบังคับใช้ ...
Dediqated

1
มันเป็นสิ่งจำเป็นเช่น Apache โหลดโมดูล PHP
Aris

2

ฉันเข้าสู่สถานการณ์นี้บ่อยครั้งที่สุดที่ฉันเคยทำตามขั้นตอนการตั้งค่าหน่วยความจำ swap

แต่ตอนนี้ฉันพบเคล็ดลับทางเลือกง่ายๆที่เหมาะกับฉัน

ทำงาน composer update --no-devอื่นที่ไม่ใช่composer update


2

ฉันแก้ไขปัญหาเดียวกันใน Vagrant ฉันเพิ่มค่าของmemory_limit และลบแคชผู้แต่ง: sudo rm -R ~ / .composer และในที่สุดก็โหลดซ้ำอีกครั้ง


1

มีปัญหาเดียวกันกับการปรับปรุง php composer.phar ในการโฮสต์ 512mb ของฉัน

แก้ไขด้วยphp composer.phar ติดตั้ง


1

ทำการสลับและเรียกใช้คำสั่งผู้แต่งอีกครั้ง ฉันหวังว่ามันจะทำงานให้คุณ

 $ dd if=/dev/zero of=/swapfile bs=1024 count=512k
 $ mkswap /swapfile
 $ swapon /swapfile
 $ echo "/swapfile       none    swap    sw      0       0 " >> /etc/fstab
 $ echo 0 > /proc/sys/vm/swappiness
 $ chown root:root /swapfile
 $ chmod 0600 /swapfile

1

ในกรณีของฉันฉันพยายามทุกอย่างที่ระบุไว้ข้างต้น ฉันใช้ Laravel และ Vagrant พร้อมหน่วยความจำ 4GB และ swap โดยมีการ จำกัด หน่วยความจำไว้ที่ -1 ฉันลบผู้ขาย / และลองใช้ PHP รุ่นอื่น ในที่สุดฉันก็จัดการให้มันทำงานได้ด้วยการวิ่ง

vagrant halt
vagrant up

แล้วการติดตั้งนักแต่งเพลงก็ทำงานได้ตามปกติ


0

ฉันมีปัญหาที่คล้ายกันในเซิร์ฟเวอร์ที่ถูกที่สุด (RAM 512MB) ที่โฮสต์กับDigitalOceanและฉันก็ใช้ Jenkins CI บนเซิร์ฟเวอร์เดียวกัน หลังจากที่ฉันหยุด Jenkins อินสแตนซ์คำสั่งติดตั้งตัวแต่งเพลงทำงานได้ดี (ถึงจุดหนึ่งมันล้มเหลวด้วยส่วนขยาย mcrypt ที่หายไปนอกจากติดตั้งแล้ว!)

อาจเป็นเพราะคุณมีแอปอื่นที่ทำงานบนเซิร์ฟเวอร์อาจคุ้มค่าที่จะหยุดและเรียกใช้คำสั่งอีกครั้ง


0

โปรดปิดการใช้งาน js bundling และเพิ่มหน่วยความจำ ที่ควรแก้ไข ฉันแก้ไขของฉันโดยปิดการใช้งานการรวมกลุ่ม js

ขอบคุณ


โปรดแชร์รายละเอียดเพิ่มเติมเกี่ยวกับคำตอบของคุณ - เหตุใดจึงควรปิดใช้งาน "js bundling" ช่วยเหลือเมื่อเกิดข้อผิดพลาดในการดาวน์โหลดแพ็คเกจ (ซึ่งจะเกิดขึ้นก่อนที่สคริปต์จะทำงาน)
Nico Haase


-1
composer update

Loading composer repositories with package information
Updating dependencies (including require-dev)

> mmap () ล้มเหลว: [12] ไม่สามารถจัดสรรหน่วยความจำได้

อัปเดตหน่วยความจำบนเซิร์ฟเวอร์และต้องการ '4G' เปลี่ยน 4GB Ram [ลองเปลี่ยนประเภทเซิร์ฟเวอร์หรือเพิ่ม ram เพิ่มเติม]

2 ไฟล์เราจำเป็นต้องแก้ไข


ในคำสั่ง

# cd /var/www/html
# nano .htaccess

และแก้ไข"memory_limit 756M”เป็น4G


Php ini บน php 7.0

# cd ~
# php –-ini
# sudo nano /etc/php-7.0.ini

memory_limit = 128M ถึง 4G

#AWS #AMAZONLINUX # MAGENTO2 # PHP7.0


1
โปรดเพิ่มคำอธิบายลงในคำตอบของคุณ การเปลี่ยนแปลงอะไรก็ตาม.htaccessจะไม่ส่งผลกระทบcomposerใด ๆ เลยเนื่องจากสิ่งนี้ไม่ได้ทำงานผ่านเว็บเซิร์ฟเวอร์
Nico Haase
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.