PHP 5.4.19 ทำงานใน terminal & PHP 5.3.26 บน localhost ของฉัน, จะเปลี่ยนเวอร์ชั่น localhost ได้อย่างไร?


1

ฉันเพิ่งติดตั้ง PHP 5.4.19 บน os X 10.6.8 Mac โดยใช้ homebrew ก่อนหน้านี้ฉันเคยใช้ PHP 5.3.26 ซึ่งอาจติดตั้งกับ MacPorts

ถ้าฉันพิมพ์ php -v ใน terminal ฉันได้รับ PHP 5.4.19 ถ้าฉันโหลด phpinfo() ไฟล์ผ่าน localhost ของฉันฉันได้รับ PHP 5.3.26 จะสั่งให้ Apache โหลดการติดตั้ง PHP ใหม่ของฉันได้อย่างไร

ถ้าฉันวิ่ง php --ini, ฉันเข้าใจ:

Configuration File (php.ini) Path: /usr/local/etc/php/5.4
Loaded Configuration File:         /usr/local/etc/php/5.4/php.ini
Scan for additional .ini files in: /usr/local/etc/php/5.4/conf.d
Additional .ini files parsed:      /usr/local/etc/php/5.4/conf.d/ext-mcrypt.ini

ไฟล์ /etc/apache2/httpd.conf ของฉันมีการตั้งค่านี้:

LoadModule php5_module        libexec/apache2/libphp5.so
#LoadModule fastcgi_module     libexec/apache2/mod_fastcgi.so

ฉันได้ลองเปลี่ยน LoadModule ในไฟล์ httpd.conf ของฉันเป็น:

/usr/local/Cellar/php54/5.4.19/libexec/apache2/libphp5.so,

แต่ฉันได้รับข้อผิดพลาดซึ่งอ่าน:

httpd: Syntax error on line 118 of /private/etc/apache2/httpd.conf: Cannot load /usr/local/Cellar/php54/5.4.19/libexec/apache2/libphp5.so into server: dlopen(/usr/local/Cellar/php54/5.4.19/libexec/apache2/libphp5.so, 10): Library not loaded: /usr/local/opt/curl/lib/libcurl.4.dylib\n Referenced from: /usr/local/Cellar/php54/5.4.19/libexec/apache2/libphp5.so\n Reason: Incompatible library version: libphp5.so requires version 8.0.0 or later, but libcurl.4.dylib provides version 6.0.0

ข้อเสนอแนะใด ๆ

คำตอบ:


1

ก่อนเปิดไฟล์ config Apache2 ของคุณใน terminal:

sudo nano /private/etc/apache2/httpd-conf

จบการตี ctrl + w ค้นหา libphp5.so. หลังจากพบสายของมันใส่ # จุดเริ่มต้นของบรรทัดเพื่อปิดใช้งาน ดังนั้นนี่คือมุมมองสุดท้าย:

#LoadModule php5_module libexec/apache2/libphp5.so

หลังจากรีสตาร์ท apache ของคุณโดยการเรียกใช้ sudo apachectl gracefullocalhost จะรับรู้ PHP 5.4 เป็นรุ่นเริ่มต้น


โซลูชันของคุณใช้งานได้จริง! ฉันใส่เครื่องหมาย "#LoadModule php5_module libexec / apache2 / libphp5.so" แล้วรีสตาร์ท สิ่งนี้ปิดใช้งาน php - (ถ้าฉันโหลดไฟล์ php ในเบราว์เซอร์ของฉันจะพิมพ์ออกมาเป็นรหัส) จากนั้นฉันกลับไปที่ไฟล์ httpd.conf ของฉันและไม่ใส่เครื่องหมายพา ธ แบบเต็มไปที่ไฟล์ homebrew libphp5.so คราวนี้มันใช้งานได้! ฉันไม่แน่ใจว่าทำไม!
docMojoman

1

เวอร์ชัน PHP ของฉันทำงานใน terminal คือ 5.3 และ localhost แสดง 5.4 แต่หลังจากที่ฉันลองวิธีที่ล้มเหลวจากโพสต์แรกฉันก็สามารถซิงค์เวอร์ชั่น php ในทั้งสองสภาพแวดล้อมได้

เพียงแค่โหลด php5_module อีกครั้ง

LoadModule php5_module /usr/local/Cellar/php53/5.3.28/libexec/apache2/libphp5.so

0

ฉันไม่แน่ใจว่า Brew และพอร์ตเล่นร่วมกันได้ดีแค่ไหน แต่บางทีคุณควรใช้ Brew ติดตั้งทั้ง apache2 และ PHP

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