ฉันไม่มีปัญหาในการติดตั้ง Symfony 2.2.x โดยใช้ Composer ฉันเพิ่งคัดลอกเวอร์ชันเสถียรที่http://symfony.com/downloadเสมอ
composer create-project symfony/framework-standard-edition myproject/ 2.2.1
(ฉันติดตั้ง Composer ทั่วโลก)
อยากรู้เกี่ยวกับ 2.3.0-RC1 ฉันคิดว่าสิ่งนี้จะราบรื่น:
composer create-project symfony/framework-standard-edition mynewerproject/ 2.3.0-RC1
แต่ถูกปิดโดยข้อผิดพลาดต่อไปนี้:
Your requirements could not be resolved to an installable set of packages.
Problem 1
- symfony/icu v1.2.0-RC1 requires lib-icu >=4.4 -> the requested linked library icu has the wrong version installed or is missing from your system, make sure to have the extension providing it.
- symfony/icu v1.1.0-RC1 requires lib-icu >=3.8 -> the requested linked library icu has the wrong version installed or is missing from your system, make sure to have the extension providing it.
- symfony/symfony v2.3.0-RC1 requires symfony/icu >=1.0,<2.0 -> satisfiable by symfony/icu[v1.1.0-RC1, v1.2.0-RC1].
- Installation request for symfony/symfony 2.3.* -> satisfiable by symfony/symfony[v2.3.0-RC1].
ฉันต้องปรับแต่งไฟล์ composer.json หรือไม่
การปรับปรุงโซลูชัน
ฉันไม่มีส่วนขยาย php intlที่ให้lib-icu
ง่ายมากติดตั้งและกำหนดค่าส่วนขยาย intl ในขณะที่ PHP 5.3 ส่วนขยาย Intl จะถูกแจกจ่ายตามค่าเริ่มต้น แต่การแจกแจงบางอย่างเช่น MAMP ไม่มี Intl ดังนั้นคุณจะต้องได้รับมัน ฉันใช้PEAR :
ขั้นตอนของฉัน:
- ติดตั้งส่วนขยายสนามบินนานาชาติ (ดูแลโดย PECL):
$ pear install pecl/intl
- คุณอาจต้องเพิ่มช่อง pecl ในลูกแพร์ก่อน - ถ้าคุณใช้ MAMPและไม่เคยทำงานร่วมกับลูกแพร์ / PECL ตรวจสอบโพสต์บล็อกของ lullabot ประโยชน์ ; MAMP ไม่ได้มาพร้อมกับแหล่งที่มา php ดังนั้นคุณต้องดาวน์โหลดซอร์สสำหรับเวอร์ชัน php ของคุณและย้ายซอร์สไปที่
/Applications/MAMP/bin/php/php[version]/include/php
(ตามที่กล่าวไว้ในบล็อกโพสต์) - PEAR ไม่พบ php.ini ของฉันดังนั้นฉันจึงต้องเพิ่ม
extension=intl.so
php.ini ด้วยตนเอง ใน MAMP คุณสามารถแก้ไข php.ini ได้อย่างง่ายดายโดยไปที่ File> Edit Template> php. [version] .ini
บรรทัดคำสั่ง:
- เมื่อใช้ Composer หรือ Console CLI ของ Symfony คุณจะต้องใช้ Intl ด้วยและเนื่องจาก
php
CLI มักจะใช้php.ini
คำสั่งอื่นคุณจึงต้องการเพิ่มคำสั่งส่วนขยายที่นั่นด้วย ในการค้นหา php.ini ของ CLI ของคุณเพียงแค่$ php -i |grep php\.ini
ค้นหาเส้นทางของไฟล์และเพิ่มลงextension=intl.so
ใน php.ini นั้นด้วย - หากต้องการตรวจสอบว่ามีการติดตั้ง Intl หรือไม่คุณสามารถ
$ php -m
ตรวจสอบโมดูลที่มีได้