Score:0

PHP ไม่สามารถเขียนไปยังโฟลเดอร์ /tmp ได้อีกต่อไปหลังจากอัพเดต Apache

ธง vn

ลินุกซ์ dist: Ubuntu 18.04.5 LTS เวอร์ชันเซิร์ฟเวอร์: Apache/2.4.29 เวอร์ชัน PHP: 7.4.20 พร้อม PHP-FPM

เมื่อเร็ว ๆ นี้เซิร์ฟเวอร์นี้ทำการอัปเกรด Apache โดยอัตโนมัติและตั้งแต่นั้นมา PHP ไม่สามารถเขียนไปยัง /tmp ทำลายไซต์จำนวนมากได้ ฟังก์ชัน PHP เช่น tmpfile() และ move_uploaded_file() ส่งคืนค่าเท็จ file_put_contents() และ fopen() ของ PHP เมื่อพยายามเขียนไปยังโฟลเดอร์นั้นก็ล้มเหลวเช่นกัน sys_get_temp_dir() ส่งคืน /tmp

การอนุญาตบน /tmp คือ drwxrwxrwt ซึ่งฉันเข้าใจว่าถูกต้อง ฉันลอง df -h และดิสก์ไม่ได้อยู่ใกล้พื้นที่เต็มหรืออะไรทำนองนั้นการตั้งค่า open_basedir ใน php.ini เป็นค่าว่าง ซึ่งก็ถูกต้องเช่นกัน

มีความคิดเกี่ยวกับวิธีการแก้ไขปัญหานี้หรือไม่?

Michael Hampton avatar
cz flag
คุณได้รับ PHP มาจากไหน
us flag
อะไรก็ได้/ใครก็ได้เขียนถึง `/tmp` ดังนั้น IMO โค้ด PHP ของคุณจึงไม่น่าจะพยายามเขียนถึง `/tmp` แต่อยู่ที่อื่น ตรวจสอบ `upload_tmp_dir` ใน php.ini หรือไม่ ดู - https://stackoverflow.com/a/16091596/503621
PHP Guru avatar
vn flag
วิธีแก้ปัญหาชั่วคราวของฉันคือรีสตาร์ทกระบวนการ php-fpm จนกว่า Apache จะแก้ไขปัญหาในการอัปเดตครั้งต่อไป สิ่งนี้ได้รับการแก้ไขเมื่อไม่นานมานี้ ฉันเพิ่งโพสต์เกี่ยวกับมันตอนนี้
Score:0
ธง cn

บริการ PHP-FPM ได้รับการ "อัปเดต" เพื่อใช้การตั้งค่า PrivateTmp หรือไม่

ถ้ามัน มีแล้วแม้ว่าคุณจะ ถาม สำหรับ /tmp, PHP จะไม่ ให้ คุณ /tmp!
ดู ปัญหาเส้นทางไฟล์ชั่วคราว php-fpm.

โพสต์คำตอบ

คนส่วนใหญ่ไม่เข้าใจว่าการถามคำถามมากมายจะปลดล็อกการเรียนรู้และปรับปรุงความสัมพันธ์ระหว่างบุคคล ตัวอย่างเช่น ในการศึกษาของ Alison แม้ว่าผู้คนจะจำได้อย่างแม่นยำว่ามีคำถามกี่ข้อที่ถูกถามในการสนทนา แต่พวกเขาไม่เข้าใจความเชื่อมโยงระหว่างคำถามและความชอบ จากการศึกษาทั้ง 4 เรื่องที่ผู้เข้าร่วมมีส่วนร่วมในการสนทนาด้วยตนเองหรืออ่านบันทึกการสนทนาของผู้อื่น ผู้คนมักไม่ตระหนักว่าการถามคำถามจะมีอิทธิพลหรือมีอิทธิพลต่อระดับมิตรภาพระหว่างผู้สนทนา