Làm cách nào để đưa tệp php.ini vào tệp php.ini khác?Làm cách nào để đưa tệp php.ini vào tệp php.ini khác?
Trả lời
Tôi không nghĩ bạn có thể "bao gồm" tệp .ini từ tệp php.ini chính.
Một khả năng giải pháp, tuy nhiên, có thể sử dụng tùy chọn này trên dòng cấu hình, khi biên dịch PHP:
--with-config-file-scan-dir=PATH
Set the path where to scan for configuration files
Nếu tùy chọn này được sử dụng tại thời gian biên dịch, PHP sẽ tìm kiếm tất cả các tập tin .ini trong thư mục này, ngoài tệp php.ini "bình thường".
Tôi cho rằng đây là những gì được sử dụng bởi Ubuntu, ví dụ, sử dụng tệp .ini khác cho mỗi phần mở rộng được tải xuống, thay vì sửa đổi php.ini.
Đường dẫn đến file php.ini được định nghĩa với tùy chọn này, trên dòng configure:
--with-config-file-path=PATH
Set the path in which to look for php.ini [PREFIX/lib]
Tuy nhiên, nó có thể có nghĩa là bạn sẽ phải tái biên dịch PHP - mà không phải là khó, btw - phần khó nhất là để có được những phụ thuộc bạn cần.
Và, đây là một bài đăng trên các internals @ MailList-list mà nói những điều tương tự như tôi làm: config files and PHP_CONFIG_FILE_SCAN_DIR
Ngoài cài đặt thời gian biên dịch, còn có biến môi trường 'PHPRC' có thể thay đổi thư mục' php.ini' mặc định (và các tệp ini khác). –
Khi bạn nói trên dòng cấu hình, điều đó có nghĩa là gì? Đó có phải là một tệp ở đâu đó không? – tomjung
Bạn không thể. Đọc các trang trực tuyến:
TÓM TẮT: Các tập tin cấu hình (php.ini) được đọc khi PHP khởi động. Đối với các phiên bản mô-đun máy chủ của PHP, điều này chỉ xảy ra một lần khi máy chủ web bắt đầu. Đối với phiên bản CGI và CLI , phiên bản này xảy ra ở mọi yêu cầu .
TÓM TẮT: Ngoài các chính tập tin php.ini, PHP quét cho các tập tin INI trong mỗi thư mục, bắt đầu với thư mục của tập tin PHP yêu cầu, và làm việc theo cách của nó lên đến gốc tài liệu hiện tại (như được đặt trong $ _SERVER ['DOCUMENT_ROOT']). Chỉ các cài đặt INI có các chế độ PHP_INI_PERDIR và PHP_INI_USER mới được nhận dạng trong .tệp INI kiểu người dùng.ini.
Tôi đọc những bài viết trước khi đăng bài, không nói gì về việc liệu có thể hay không. –
Bạn có thể thử để mô phỏng nó làm cho việc sử dụng ini_set chức năng. Nhưng khi "trang người đàn ông" chỉ ra, không phải tất cả các tùy chọn ini đều có thể được thay đổi bằng cách sử dụng ini_set. Nó chắc chắn là một chức năng hữu ích, mặc dù.
Tôi cài đặt memcached cho php và không chắc chắn làm thế nào để đảm bảo rằng ini của nó đã được bao gồm trong php.ini của tôi, nhưng khi nó quay ra nó tự động là. Bạn có thể xác thực những gì đang được tải bằng cách chạy php --ini
.
php --ini
Configuration File (php.ini) Path: /opt/local/etc/php5
Loaded Configuration File: (none)
Scan for additional .ini files in: /opt/local/var/db/php5
Additional .ini files parsed: /opt/local/var/db/php5/memcached.ini
có vẻ như đường dẫn tệp cấu hình được trả về bởi "php --ini" có thể không giống như được trả lại từ trang web ( Php phpinfo();?>). – gonglong
người ta cũng có thể xác định đường dẫn trong ~/.bashrc
export PHP_INI_SCAN_DIR=/usr/local/lib/php.d
Có vẻ bạn không thể bao gồm một tập tin ini vào khác để nó được tham chiếu và tải. Nhưng bạn có thể thiết lập php để tải một số tập tin bằng cách nói cho nó những thư mục để xem xét.
Khi sử dụng thiết lập FastCGI (có thể trong FPM, mặc dù tôi không biết chắc chắn) bạn có thể xuất biến môi trường từ trong trình bao bọc php.
Ở đó bạn có thể làm:
export PHP_INI_SCAN_DIR=/etc/php5/cgi/conf.d:/var/www/mydomain.net/etc
/var/www/mydomain.net/etc
chỉ là một ví dụ, đó là thư mục mà bạn đặt thêm file ini của bạn vào. Có vẻ như đây có thể là danh sách được phân tách :
.
Sử dụng phpinfo.php
(tệp được gọi là tùy ý chỉ chứa <? phpinfo();
), mở URL tương ứng trong trình duyệt của bạn và kiểm tra danh sách các thư mục được phân tích cú pháp và danh sách tệp được tải ở khu vực trên cùng của nó.
/etc/php5/cgi/conf.d
nên luôn luôn được bao gồm (tôi đoán vì nó được biên dịch thành tệp thực thi php) và có thể không thực sự cần thiết.
- 1. php.ini include_path
- 2. 2 file php.ini
- 3. Không thể lưu php.ini
- 4. Có thể tách tệp cấu hình PHP php.ini không?
- 5. bật thẻ mở ngắn mà không cần tệp php.ini
- 6. Làm thế nào để kích hoạt mbstring từ php.ini?
- 7. Sự khác biệt giữa cấu hình php.ini Vị trí tệp và tệp cấu hình được tải?
- 8. php.ini là Tệp Cấu hình Không tồn tại (không)
- 9. php5.3.3 date.timezone chỉ thị lại php.ini không đưa vào tài khoản
- 10. Đặt đường dẫn tới php.ini
- 11. Làm cách nào để đưa tệp js vào tệp js khác?
- 12. Lực lượng bao gồm trong php.ini?
- 13. php.ini ở đâu trong php v.5.4.6?
- 14. Làm cách nào để đưa tệp vào ivy.xml?
- 15. Thay đổi vị trí php.ini
- 16. Ghi đè php.ini trên máy chủ
- 17. Biến expose_php OFF trong php.ini
- 18. Làm cách nào để đưa tệp wxi vào wx?
- 19. PHP/Apache cách đặt session.cookie_domain từ bên ngoài php.ini
- 20. IIS: Cách ghi đè lên một số cài đặt php.ini bằng tệp .ini tùy chỉnh?
- 21. Sự khác nhau giữa php.ini và .htaccess là gì?
- 22. file đa php.ini trong hệ thống của tôi
- 23. php.ini không được đọc với cài đặt Windows 7
- 24. PHP: có thể đặt hằng số trong tệp php.ini mặc định
- 25. Làm cách nào để đưa tệp sql vào tệp sql? MS SQL
- 26. Làm cách nào để đưa tệp jar vào thư mục lib của tệp tai bằng kiến?
- 27. php.ini đặt lại trên máy chủ MAMP khởi động lại
- 28. Làm thế nào để truy cập php.ini từ CPanel của tôi?
- 29. Việc lưu tên người dùng/mật khẩu MySQL trong tệp php.ini có an toàn không?
- 30. Tôi có cần khởi động lại Apache sau khi thay đổi tệp php.ini không?
Tôi quan tâm đến cách RHEL/Fedora hoàn thành /etc/php.d/* bao gồm. Họ đã vá PHP để làm điều này có thể? – gahooa
@gahooa đó là câu hỏi mà tôi đã hướng dẫn tôi ở đây. Bạn đã từng học cách chúng hoàn thành /etc/php.d/* chưa? –
xem câu trả lời được chấp nhận bên dưới, điều này cũng trả lời câu hỏi của bạn. U cũng có thể làm php -i (phpinfo()) và xem php được xây dựng như thế nào –