จำลองตัวเลือกไบนารี

อาร์กิวเมนต์ส่งผ่านไปยังสคริปต์ใช้งาน - args เมื่ออาร์กิวเมนต์แรกเริ่มต้นด้วย - หรือสคริปต์ถูกอ่านจาก stdin13 PHP การ myscript. php PHP การ - f myscript. php ทั้งสองวิธี (ใช้สวิทช์ - f หรือไม่) รันไฟล์ที่กำหนด myscript. phpคุณสามารถเลือกไฟล์ที่จะดำเนินการใด ๆ สคริปต์ PHP ของคุณจะได้ไม่ต้องจบลงด้วยการขยาย. php แต่สามารถให้พวกเขาชื่อหรือนามสกุลที่คุณต้องการให้ have.13 เช่นเดียวกับการประยุกต์ใช้เปลือกทุกไบนารี PHP ยอมรับจำนวนของการขัดแย้ง แต่ยัง PHP สคริปต์ของคุณจะได้รับพวกเขาจำนวนของการขัดแย้งที่สามารถส่งผ่านไปยังสคริปต์ของคุณจะไม่ถูก จำกัด โดย PHP (เปลือกมีขนาด จำกัด บางอย่างในตัวเลขของตัวอักษรที่สามารถส่งผ่านที่คุณมักจะเคยชินตีขีด จำกัด นี้)ข้อโต้แย้งส่งผ่านไปยังสคริปต์ของคุณที่มีอยู่ใน argv อาร์เรย์ทั่วโลกศูนย์ดัชนีมักจะมีชื่อสคริปต์ (ซึ่งก็คือ - ในกรณีโค้ด PHP จะมาจากทั้งเข้ามาตรฐานหรือจากบรรทัดคำสั่งสวิทช์ - r)ที่สองตัวแปรทั่วโลกที่ลงทะเบียนเป็น argc ที่มีจำนวนขององค์ประกอบในอาร์เรย์ argv (ไม่ใช่จำนวนอาร์กิวเมนต์ส่งผ่านไปยังสคริปต์) 0.13 ตราบใดที่ข้อโต้แย้งที่คุณต้องการที่จะผ่านไปยังสคริปต์ของคุณไม่ได้เริ่มต้นด้วย - ตัวอักษรเธอเอาใจใส่ไม่มีอะไรพิเศษที่ต้องระวังผ่านอาร์กิวเมนต์สคริปต์ของคุณที่เริ่มต้นด้วย - การที่จะทำให้เกิดปัญหาเพราะ PHP ตัวเองคิดว่าจะมีการจัดการกับมันเพื่อป้องกันการใช้คั่นรายการอาร์กิวเมนต์นี้ - หลังจากการโต้เถียงที่ได้รับการแยกวิเคราะห์โดย PHP, ข้อโต้แย้งต่อไปนี้ทุกคนมันก็จะผ่าน untoched / unparsed เพื่อ script.13 ของคุณ แต่เธอเอาใจใส่วิธีการใช้ PHP สำหรับการเขียนสคริปต์เปลือกอีกคุณสามารถเขียนสคริปต์ที่บรรทัดแรกจะเริ่มต้นด้วย / usr / bin / php ที่แล้วต่อไปนี้โค้ด PHP ปกติรวมภายใน PHP เริ่มต้นและสิ้นสุดแท็กและตั้งค่าคุณสมบัติการทำงานของไฟล์อย่างเหมาะสมวิธีนี้จะสามารถดำเนินการได้เช่นเปลือกปกติหรือ Perl สคริปต์: / usr / bin php / 60php vardump (argv) 62 สมมติว่าไฟล์นี้เป็นชื่อทดสอบในไดเรกทอรีปัจจุบันตอนนี้เราสามารถทำต่อไปนี้: chmod 755 ทดสอบ ./test-h - อาร์เรย์ foo (4) 062 สตริง (6) ./test 162 สตริง (2) 262 - h สตริง (2) - 362 สตริง (3) foo ที่คุณเห็นไม่มีการดูแลจะต้องมีการดำเนินการเมื่อผ่านพารามิเตอร์สคริปต์ของคุณที่เริ่มต้นด้วย -.13 Tblzat 25-3บรรทัดคำสั่ง optionsOptionDescription s13-13 การแสดงผลสีไวยากรณ์เน้นแหล่งที่มา13 ตัวเลือกนี้ใช้กลไกภายในที่จะแยกไฟล์และผลิต HTML เน้นรุ่นของมันและเขียนมันออกมาตรฐานโปรดทราบว่าทั้งหมดมันไม่ได้ในการสร้างบล็อกของ 60code62 ... 60 / code62 แท็กไม่มีส่วนหัวของ HTM​​LMegjegyzs: ตัวเลือกนี้ไม่ได้ทำงานร่วมกันกับตัวเลือก - r-w13 13 แหล่งที่มาของการแสดงผลที่มีความคิดเห็นปล้นและช่องว่างMegjegyzs: ตัวเลือกนี้ไม่ได้ทำงานร่วมกันกับตัวเลือก - r-f13 13 แยกวิเคราะห์และดำเนินการชื่อไฟล์ที่ได้รับกับตัวเลือก - fสวิตช์นี้เป็นตัวเลือกและสามารถออกซ้ายเพียงให้ชื่อไฟล์ที่จะดำเนินการก็เพียงพอแล้ว-v13 13 เขียน PHP, PHP SAPI และรุ่น Zend ออกมาตรฐานเช่นPHP การ - v PHP 4.3.0-dev (CLI) Copyright (c) 1997-2002 PHP กลุ่ม Zend เครื่องยนต์ v1.2.1, Copyright (c) 1998-2002 Zend เทคโนโลยี - c13 13 ด้วยตัวเลือกนี้หนึ่งสามารถระบุไดเรกทอรีที่จะมองหา php. ini หรือคุณสามารถระบุไฟล์ INI กำหนดเองโดยตรง (ซึ่งไม่จำเป็นต้องเป็นชื่อ php. ini) เช่น: PHP - c / กำหนดเอง / ไดเรกทอรี / myscript. php PHP การ - c / กำหนดเอง / ไดเรกทอรี /ที่กำหนดเอง file. ini myscript. php - a13 13 วิ่ง PHP โต้ตอบ-d13 13 ตัวเลือกนี้จะช่วยให้การตั้งค่าที่กำหนดเองใด ๆ ของคำสั่งการกำหนดค่าที่ได้รับอนุญาตใน php. iniไวยากรณ์คือ: - d configurationdirectivevalue 13 ตัวอย่าง: Ommiting ส่วนค่าจะกำหนดคำสั่งที่ได้รับการกำหนดค่าให้เป็น 1 PHP การ - d maxexecutiontime - r foo iniget (maxexecutiontime) vardump (foo) สตริง (1) 1 ผ่านส่วนค่าว่างจะตั้งสั่งกำหนดค่า php - d maxexecutiontime - r foo iniget (maxexecutiontime) vardump (foo) สตริง (0) สั่งการกำหนดค่าจะถูกตั้งค่าอะไรที่ผ่านไปตามตัวละครของ PHP - d maxexecutiontime20 - r foo iniget (maxexecutiontime) vardump (foo) สตริง(2) 20 php ที่ - d maxexecutiontimedoesntmakesense - r foo iniget (maxexecutiontime) vardump (foo) สตริง (15) doesntmakesense - e13 13 สร้างข้อมูลที่เพิ่มขึ้นสำหรับการดีบัก / สร้างโปรไฟล์-z13 13 โหลดส่วนขยาย Zendถ้าเพียง แต่ชื่อไฟล์ที่ได้รับ, PHP พยายามโหลดส่วนขยายนี้จากเส้นทางห้องสมุดเริ่มต้นปัจจุบันในระบบของคุณ (มักจะระบุกูเรชั่นบนระบบลินุกซ์)ผ่านชื่อไฟล์ที่มีข้อมูลเส้นทางที่แน่นอนจะไม่ใช้ระบบห้องสมุดเส้นทางการค้นหาชื่อไฟล์ที่สัมพันธ์กับข้อมูลไดเรกทอรีจะบอก PHP เพียงการพยายามที่จะโหลดญาติขยายไปยังไดเรกทอรีปัจจุบัน-l13 13 ตัวเลือกนี้จะมีวิธีที่สะดวกเพียงดำเนินการตรวจสอบไวยากรณ์ในโค้ด PHP ที่กำหนดความสำเร็จในข้อความที่ไม่มีข้อผิดพลาดไวยากรณ์ตรวจพบใน 60filename62 ถูกเขียนออกมาตรฐานและรหัสการส่งคืนเปลือกเป็น 0 ในความล้มเหลวผิดพลาดข้อความแยก 60filename62 นอกเหนือไปจากข้อผิดพลาดตัวแยกวิเคราะห์ภายในจะถูกเขียนออกมาตรฐานและรหัสการส่งคืนเปลือกถูกตั้งไว้ที่ 255 13 ตัวเลือกนี้จะไม่พบข้อผิดพลาดร้ายแรง (เช่นฟังก์ชั่นที่ไม่ได้กำหนด)ใช้ - f ถ้าคุณต้องการที่จะทดสอบข้อผิดพลาดร้ายแรงเกินไปMegjegyzs: ตัวเลือกนี้ไม่ได้ทำงานร่วมกันกับตัวเลือก - r-m13 13 ใช้ตัวเลือกนี้, PHP พิมพ์ออกในตัว (และโหลด) PHP และโมดูล Zend: PHP - m โมดูล PHP XML tokenizer POSIX เซสชั่นมาตรฐาน pcre เกิน MySQL mbstring ctype Zend โมดูล - i13 เลือกบรรทัดคำสั่งนี้เรียก phpinfo ()และพิมพ์ออกผลถ้า PHP ทำงานไม่ดีก็จะแนะนำให้ทำ - i PHP และดูว่าข้อความผิดพลาดใด ๆ ที่พิมพ์ออกมาก่อนหรือในสถานที่ของตารางข้อมูลระวังว่าการส่งออกอยู่ใน HTML และดังนั้นจึงค่อนข้างใหญ่-r13 13 ตัวเลือกนี้จะช่วยให้การดำเนินการของ PHP จากภายในบรรทัดคำสั่งจุดเริ่มต้นและจุดสิ้นสุด PHP แท็ก (60php และ 62) จะไม่จำเป็นและจะทำให้เกิดข้อผิดพลาดตัวแยกวิเคราะห์Megjegyzs: การดูแลจะต้องมีการดำเนินการเมื่อมีการใช้รูปแบบของ PHP นี้เพื่อไม่ให้ชนกับแทนค่าตัวแปรบรรทัดคำสั่งทำโดยเปลือก13 ตัวอย่างที่แสดงให้เห็นข้อผิดพลาดตัวแยกวิเคราะห์เป็น PHP - r foo getdefinedconstants () รหัสบรรทัดคำสั่ง (1): การแยกวิเคราะห์ข้อผิดพลาด - แยกข้อผิดพลาดที่ไม่คาดคิดปัญหาที่นี่คือที่ดวลจุดโทษ / ทุบตีดำเนิน substritution ตัวแปรแม้เมื่อมีการใช้คำพูดสองเนื่องจากตัวแปร foo ไม่น่าจะได้รับการกำหนดไว้ก็จะขยายไปไม่มีอะไรซึ่งจะส่งผลในการเป็นรหัสผ่านไปสำหรับ PHP executin ในความเป็นจริงอ่าน: PHP - r getdefinedconstants () วิธีที่ถูกต้องจะใช้ราคาเดียวตัวแปรในสตริงที่ยกมาด้วยคำพูดเดียวที่จะไม่ขยายตัวดวลจุดโทษ / ทุบตีPHP การ - r foo getdefinedconstants () vardump (foo) อาร์เรย์ (370) EERROR62 int (1) EWARNING62 int (2) EPARSE62 int (4) ENOTICE62 int (8) ECOREERROR62 ... ถ้าคุณกำลังใช้เปลือกแตกต่างจากการดวลจุดโทษ / ทุบตีคุณอาจพบปัญหาต่อไปรู้สึกอิสระที่จะเปิดรายงานข้อผิดพลาดหรือส่งอีเมลไปยัง phpdoclists.