จากการอ่าน เดอะ mod_substitute เอกสารฉันไม่สามารถหาข้อมูลอ้างอิงเดียวว่าทำไมคุณถึงคิดว่ามันจะใช้งานได้กับการดำเนินการกระบวนการภายนอก (หรือการฟอร์กเชลล์หรืออะไรก็ตามในประเภทนั้น) ดังนั้นฉันจะไม่ถือว่าเส้นทางนี้เป็นทางรอด
mod_ext_filterในทางกลับกัน ดูเหมือนว่าจะปรับให้เข้ากับสิ่งที่คุณต้องการจะทำ อย่างไรก็ตามเพื่ออ้าง เอกสารของมัน:
กลไกการกรองนี้ช้ากว่าการใช้ตัวกรองซึ่งเขียนขึ้นเป็นพิเศษสำหรับ Apache API และทำงานภายในกระบวนการเซิร์ฟเวอร์ Apache
ดังนั้น ถ้าฉันเป็นคุณ ฉันจะพิจารณาใช้ภาษาไดนามิกเช่น PHP (ซึ่งเดิมเขียนขึ้นสำหรับกรณีการใช้งานนี้) หรือท้ายที่สุดก็เขียนโปรแกรม C ขนาดเล็กมากเพื่อทำสิ่งที่คุณต้องการ เพราะมันจะจบลงมาก เร็วขึ้นและไม่ยากเกินไป
ตอนนี้ ถ้าคุณต้องการยืนหยัดกับความคิดของคุณ อย่าใช้ /bin/เสียงสะท้อน. การแทนที่ที่คุณเขียน "$(sed -E "1s/myString/&$(date +"%T.%3N")/")" ต้องใช้เปลือกและ /bin/เสียงสะท้อน จะไม่วางไข่ ดังนั้นคุณต้องเขียนสคริปต์ (โซลูชันที่ฉันอยากแนะนำ) หรืออย่างน้อยก็โทร /ถัง/sh (หรือ /ถัง/ทุบตี ถ้าคุณโน้มเอียงมาก) ด้วยข้อโต้แย้งที่เหมาะสม: -c 'var="$(วันที่ +"%T.%3N")"; sed -E "1s/myString/&$var/"'.
มันแฮ็คจริงๆ และฉันก็รักษาสคริปต์ PHP หรือโปรแกรม C จะง่ายกว่าในระยะยาว แต่สำหรับแต่ละคน