PHP สามารถทำงานได้บน Ubuntu ที่ไหน?


13

ฉันได้ติดตั้ง Apache และ PHP แล้ว ฉันรู้ว่า PHP ทำงานได้ดีในขณะที่ฉันทดสอบไฟล์ PHP แบบง่าย ๆ บนเซิร์ฟเวอร์ Apache

ฉันกำลังเขียนเว็บเซิร์ฟเวอร์อย่างง่ายซึ่งน่าจะสามารถประมวลผลไฟล์ PHP ได้ ดังนั้นเมื่อฉันได้รับการร้องขอสำหรับไฟล์ PHP ฉันต้องการทำอะไรเช่น 'exec php test.php' และรับเอาท์พุทและส่งต่อไปยังไคลเอนต์

เนื่องจากฉันไม่ค่อยได้ใช้งาน Ubuntu มากนักฉันไม่รู้ว่า PHP ใช้งานได้ที่ไหน (ควรอยู่ใน \ bin ใช่ไหม?) แต่ไม่มีไฟล์ PHP อยู่ใน \ bin หรือ \ usr \ bin

เมื่อฉันเรียกใช้ 'ซึ่ง php' มันแสดงอะไร ฉันจะทำสิ่งนี้ได้อย่างไร


1
สิ่งที่เกิดขึ้นเป็นไปได้มากที่สุดที่คุณได้ php ใน apache เป็น php module (ในทางเทคนิค - ไลบรารีไม่ใช่ไบนารีที่เรียกใช้งานได้ที่ถูกเรียกจากภายนอก) นั่นคือสาเหตุที่คุณไม่พบไบนารี ความคิดเห็นนี้มีขึ้นเพื่อตอบคำถามให้สมบูรณ์ซึ่งจะบอกคุณว่าต้องทำอย่างไรเพื่อรับ php binary ในระบบของคุณ แต่ไม่ได้ให้เหตุผลใด ๆ ว่าทำไมมันหายไป
AnonymousLurker

หากคุณใช้งาน Ubuntu 8.10 อย่างที่แนะนำให้ใช้กับแท็กคุณควรเข้าใจว่า Ubuntu 8.10 นั้นล้าสมัยไปมาก คุณควรอัปเกรดโดยเร็วที่สุด ไม่มีการสนับสนุนด้านความปลอดภัยสำหรับรุ่นนั้น
Zoredache

@Zoredache ใช่ฉันรู้ว่ามันเก่ามาก แต่ฉันไม่ใช่ผู้ใช้ Ubuntu ฉันมีแผ่นซีดีและติดตั้งไว้สำหรับการมอบหมายเท่านั้น! : D
samsamara

คำตอบ:


11

คุณต้องติดตั้งphp5-cliหรือphp5-cgiแพ็คเกจ

sudo apt-get install php5-cli
# OR
sudo apt-get install php5-cgi

ในฐานะที่เป็น Zoredache ที่ระบุไว้ในความคิดเห็น รุ่น cli ไม่ได้ประมวลผลส่วนหัวหรือส่งออก dos - มันเป็นล่าม PHP สะอาดโดยสมบูรณ์ไม่รู้ HTTP

หากคุณต้องการรุ่นที่สามารถกล่าวถึงข้างต้นใช้เวอร์ชัน CGI


1
ใช่ฉันเพิ่งเรียนรู้ว่าฉันต้องการ php-cli .. :)
samsamara

1
เนื่องจากเขากำลังเขียนเว็บเซิร์ฟเวอร์เขาอาจไม่ต้องการรุ่น CLI เนื่องจากจะไม่สามารถรับข้อมูล GET / POST
Zoredache

1
ตกลงติดตั้งยังคงคำถาม: ปฏิบัติการอยู่ที่ไหน
แอนดรู

14

พิมพ์สิ่งต่อไปนี้ในเทอร์มินัลของคุณ

โดยที่ php


ฉันได้สิ่งนี้php: /usr/bin/php7.1 /usr/bin/php7.0 /usr/bin/php /usr/bin/php7.2 /usr/lib/php /etc/php /usr/include/php /usr/share/php7.1-opcache /usr/share/php7.2-zip /usr/share/php7.0-intl /usr/share/php7.1-common /usr/share/php7.0-gd /usr/share/php7.2-common /usr/share/php7.1-gd /usr/share/php7.1-xmlrpc /usr/share/php7.2-intl /usr/share/php7.2-mysql
abu abu


1

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

ดู:


ฉันกำลังเขียนเว็บเซิร์ฟเวอร์อย่างง่ายพร้อมรองรับ PHP และ CGI สำหรับการแยกไฟล์ php สิ่งที่ฉันจะทำคือ 'exec / usr / bin / php file.php' และคุณสามารถเรียกใช้สคริปต์ CGI โดยแยกวิเคราะห์ให้เป็น Perl ฉันถูกไหม? เป็นไปได้?
samsamara

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