2012-06-27 25 views
6

Tôi đang cố gắng làm theo tài liệu này trên Symfony: http://symfony.com/doc/current/book/forms.htmlSymfony2: Cách tạo phần mở rộng php_intl có sẵn cho Symfony2?

ok vì vậy đây là điều tôi, tôi đã externalised hình thức của tôi và tạo ra một lớp mẫu cụ thể để xử lý quá trình và có thể tái sử dụng nó.

Vậy điều gì xảy ra khi tôi gửi biểu mẫu, bất kể thông tin là okay hay không cho lớp học của tôi, tôi nhận được lỗi này gây tử vong:

Fatal error: Call to a member function setAttribute() on a non-object in C:\Program Files (x86)\wamp\www\QNetworks\vendor\symfony\src\Symfony\Component\Form\Extension\Core\DataTransformer\NumberToLocalizedStringTransformer.php on line 130 Call Stack

Tôi đang chạy với php 5.3.9 và mở rộng Sân bay quốc tế của tôi được cài đặt và kích hoạt NHƯNG khi tôi chạy lệnh app/check.php Tôi thấy:

[[WARNING]] Checking that the intl extension is available: FAILED

* Install and enable the intl extension (used for validators) *

Vì vậy, tôi không hiểu vấn đề với phần mở rộng này là gì. Tôi có nên cài đặt lại nó không? Khi tôi đi ở đây: http://php.net/manual/en/intl.requirements.php tôi thấy THT tôi có thể cài đặt PECL hoặc thư viện ICU, nhưng tôi không biết nếu tôi nên và nếu có bất kỳ mối quan hệ với vấn đề của tôi ..

+0

Tôi gặp sự cố tương tự trên máy chủ wamp với phiên bản php 5.3.8. May mắn thay tắt mở rộng intl làm việc cho tôi. Đó là giải pháp thay vì sau đó giải pháp nhưng nó nhanh chóng và nó giúp. –

Trả lời

3

gia hạn Intl của bạn phải được cấu hình đúng cách. Kiểm tra trên máy chủ của bạn nếu điều này thực sự kích hoạt sử dụng phpinfo()

đó trở đi php.ini của bạn kích hoạt logging:

[intl] 
intl.error_level = E_WARNING 
extension=php_intl.dll 

và kiểm tra các bản ghi

Nếu nó được kích hoạt có lẽ đó là một sự cố. Cố gắng redownload dll vào c: \ PHP \ ext \ php_intl.dll

+0

Cảm ơn, cuối cùng tôi đã quyết định cài đặt lại wamp với phiên bản php cuối cùng và nó hoạt động ngay bây giờ. –

1

chăm lo bạn có hai php.ini:

  • * wamp \ bin \ php \ php5.3.13
  • * wamp \ bin \ apache \ apache2.2.22 \ bin

bạn nên bỏ ghi chú extension = php_intl.dll trong cả hai.

Các vấn đề liên quan