| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647 |
- <?php
- // 全局函数
- // 捕获所有请求信息,包含fatal error
- register_shutdown_function('shutdownHandler');
- function shutdownHandler()
- {
- if ($error = error_get_last()) {
- // $filename 必须是一个绝对路径
- if (!defined('REGISTER_SHUTDOWN_FUNCTION_LOG_FILENAME')) {
- $filename = dirname(__FILE__) . DIRECTORY_SEPARATOR . 'register_shutdown_function.log';
- } else {
- $filename = REGISTER_SHUTDOWN_FUNCTION_LOG_FILENAME;
- }
- if ($error['type']<3){
- $message = '时间 : ' . date('Y-m-d H:i:s') . PHP_EOL;
- $message .= '文件 : ' . $error['file'] . PHP_EOL;
- $message .= '行数 : ' . $error['line'] . PHP_EOL;
- $message .= '错误 : ' . $error['message'] . PHP_EOL;
- $message .= '类型 : ' . $error['type'] . PHP_EOL . PHP_EOL;
- file_put_contents($filename, $message, FILE_APPEND);
- }
- }
- }
- /**
- * 获取当前语言环境
- *
- * @return string
- */
- function lang()
- {
- static $global_lang;
- if ($global_lang !== null) {
- return $global_lang;
- }
- $global_lang = !empty($_REQUEST['global_lang']) ? $_REQUEST['global_lang'] : $_COOKIE['global_lang'];
- if (empty($global_lang) && isset($_SERVER['HTTP_ACCEPT_LANGUAGE'])) {
- $global_lang = substr($_SERVER['HTTP_ACCEPT_LANGUAGE'], 0, 2);
- $global_lang = $global_lang == 'zh' ? $global_lang : "en";
- setcookie("global_lang", $global_lang, time() + 3600 * 24 * 30, '/');
- }
- return $global_lang;
- }
|