2011-06-24 29 views
6

Tôi đã cố tạo một số phần mở rộng php.Cách biên dịch phần mở rộng php cho PHP 5.3.6 với gỡ lỗi, TS

Lần đầu tiên tôi biên soạn php 5.3.6 với --enable-debug --enable-maintainer-zts. Sau đó, tôi ceated thủ tục standart mở rộng và sử dụng của tôi cho nó

phpize 
./configure --with-EXTNAME 
make 

Sau đó, sao chép extname.so vào thư mục mở rộng php của tôi, và thay đổi php.ini

Và khi tôi cố gắng sử dụng php từ cli Tôi đã nhận ra lỗi

Unable to initialize module 
Module compiled with build ID=API20090626,NTS 
PHP compiled with build ID=API20090626,TS,debug 

Khi tôi cố gắng

./configure --enable-debug --enable-maintainer-zts 

Đối với tiện ích mở rộng, tôi đã cảnh báo rằng các tùy chọn này không được nhận dạng bởi tập lệnh cấu hình.

Vì vậy, làm cách nào tôi có thể biên dịch tiện ích mở rộng của mình để sử dụng với PHP được biên dịch với các tùy chọn mà tôi mô tả ở trên mà không tự biên dịch lại php?

Trả lời

6

Bạn cần ./configure --with-php-config=/path/to/correct/php-config.

Kịch bản cấu hình có khả năng sử dụng một php-config khác (có thể là tập lệnh được cài đặt ở giữa).

+0

Oh ... Và nơi có thể tìm thấy ngay PHP- config? Tôi đoán nó gần php trong thư mục bin, tôi có đúng không? – krasilich

+0

@kra yes, sửa – Artefacto

+0

Dường như mọi thứ đều hoạt động, cảm ơn! – krasilich

0

trong máy chủ của tôi có 2 phpize

/usr/bin/php/phpize 
    /usr/bin/php-zts/phpize 

để chắc chắn rằng nó được biên soạn với chủ đề an toàn thay vì sử dụng "phpize" làm

/usr/bin/php-zts/phpize 
./configure --with-php-config=/usr/bin/php-zts/php-config 
make 
make install 
+0

Lưu ý chỉ chọn đúng phpize là không đủ: --with-php-config cũng được yêu cầu. – Dereckson

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