Tôi đang sử dụng Khung công tác Zend và tôi sử dụng .htaccess
cho một số cài đặt. Tôi hiện đang viết kịch bản dòng lệnh để lên lịch (ví dụ: cron). Kịch bản dòng lệnh không xem tệp .htaccess
vì chúng không được Apache phân phối. Tôi muốn phân tích cú pháp .htaccess
bằng tập lệnh của tôi để truy xuất một số cài đặt. Dưới đây là những dòng tôi đặc biệt quan tâm:Phân tích cú pháp tệp .htaccess Với PHP
SetEnv APPLICATION_ENV development
php_value date.timezone America/New_York
tôi nhận thấy gói PEAR File_HtAccess, nhưng nó dường như chỉ giải quyết phần xác thực của file .htaccess
.
SOLUTION: (với tín dụng do Bamieater)
echo
báo cáo cho kết xuất debug, loại bỏ từ mã làm việc.
$htaccess = file(realpath(dirname(__FILE__)) . '/.htaccess');
echo '<pre>';
foreach ($htaccess as $line) {
if (preg_match('/^\s*SetEnv\s+APPLICATION_ENV\s+(.*?)\s*$/', trim($line), $matches)) {
defined('APPLICATION_ENV') || define('APPLICATION_ENV', $matches[1]);
echo APPLICATION_ENV . PHP_EOL;
} elseif (preg_match('/^\s*php_(?:admin_)?value\s+date\.timezone\s+(.*?)\s*$/', $line, $matches)) {
date_default_timezone_set($matches[1]);
echo date_default_timezone_get() . PHP_EOL;
}
}
echo '</pre>';
Hmmm. Các tệp cấu hình của Apache có khá đơn giản để phân tích thủ công không? Mọi thứ đều là 'giá trị tên' và bỏ qua các dòng bắt đầu bằng' # '. –
bạn đang sử dụng linux: ubuntu hoặc windows –
@Pekka - Đúng vậy, nhưng tôi nghĩ có thể có một đoạn mã đã được viết @JapanPro - Đó là Linux. CentOS, tôi tin. – Sonny