Định vị thư mục tiện ích mở rộng PHP bằng bash


14

Tôi đang cố gắng xây dựng một tập lệnh bash để cài đặt phần mở rộng PHP của Source Guardian tuy nhiên thư mục đích khác nhau trên mỗi bản phát hành Ubuntu tiếp theo.

Cài đặt PHP5 trên Ubuntu 14.04 dẫn đến các tiện ích mở rộng được lưu trữ trong / usr / lib / php5 / 20121212 + lfs /, trong Ubuntu 15.04 thư mục này thay đổi, ví dụ / usr / lib / 20131226 /

Tôi đã kiểm tra /etc/php5/fpm/php.ini và /etc/php5/fpm/php-fpm.conf nhưng cả hai tệp này đều không có bất kỳ đề cập nào về 20121212 + lfs hoặc 20131226.

Nếu tôi đặt tiện ích mở rộng Nguồn bảo vệ ở bất kỳ nơi nào khác, thì nó không tải.

Có cách nào để xác định lập trình thư mục mở rộng không?

Câu trả lời:


22

Có lẽ bạn nên làm điều này:

php-config --extension-dir

Nếu php-configkhông tồn tại, thì apt-get install php-confignếu Ubuntu / Debian hoặc yum install php-confignếu CentOS / Red Hat)

Lệnh đó sẽ cung cấp vị trí chính xác của phpthư mục mở rộng của bạn .

Đừng quên thay đổi php.iniđể sử dụng tiện ích mở rộng.


Nó không đơn giản hơn phân tích cú pháp php -iđầu ra và yêu cầu cài đặt thêm phần mềm. Tại sao?
cprn

18

Bạn có thể sử dụng cái này

php -i | grep extension_dir

2
Bạn cũng có thể muốn thử php -i | grep ^extension_dirvì cũng có một sqlite3.extension_dir. Dấu mũ sẽ chỉ khớp từ đầu chuỗi (đối với những người không biết về regex) sẽ giúp ích nếu bạn đang sử dụng đầu ra bằng cách nào đó
Stuart H

0

Bạn cũng có thể tìm thấy nó bằng cách tạo một tập lệnh phpinfo (một tệp gọi phpinfo();) và sau đó chạy nó trong trình duyệt.

Xem ví dụ dưới đây.

nhập mô tả hình ảnh ở đây

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.