首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> 網頁程式設計 >> PHP 程式設計 >> PHP 相關知識

PHP ini_set/ini_get 配置參數完整列表與運維實戰

     編輯:PHP 相關知識

配置修改範圍常量

常量值可修改範圍
PHP_INI_USER1用戶腳本 (ini_set)
PHP_INI_PERDIR2php.ini, .htaccess, httpd.conf
PHP_INI_SYSTEM4php.ini, httpd.conf
PHP_INI_ALL7任何地方

常用運行時可修改參數 (PHP_INI_ALL/USER)

ini_set/ini_get 實戰模式

1. 動態調整錯誤顯示 (開發/生產切換)

<?php
// 開發環境
ini_set('display_errors', '1');
error_reporting(E_ALL);

// 生產環境
ini_set('display_errors', '0');
ini_set('log_errors', '1');
ini_set('error_log', '/var/log/php_errors.log');
error_reporting(E_ALL & ~E_NOTICE & ~E_DEPRECATED);
?>

2. 延長執行時間與內存 (導入導出任務)

<?php
ini_set('max_execution_time', '300'); // 5分鐘
ini_set('memory_limit', '512M');      // 512MB
set_time_limit(300); // 等效函數
?>

3. 動態擴展 include_path

<?php
$newPath = '/data/libs/custom';
ini_set('include_path', ini_get('include_path') . PATH_SEPARATOR . $newPath);
// 現在可以直接 require 'MyClass.php';
?>

4. 根據配置決定邏輯 (magic_quotes 兼容)

<?php
function safeInput($str) {
    // PHP 5.4+ 已移除 magic_quotes,但兼容舊代碼
    if (ini_get('magic_quotes_gpc')) {
        $str = stripslashes($str);
    }
    return $str;
}
?>

只讀參數 (僅能 ini_get)

  • php_version、php_sapi_name、php_os
  • upload_tmp_dir、extension_dir
  • 大多數 PHP_INI_SYSTEM 參數

最佳實踐原則

  1. 入口文件統一配置:在 bootstrap.php 或 common.php 集中管理
  2. 環境區分:通過環境變量區分開發/測試/生產配置
  3. 避免濫用:核心參數 (內存、時間、上傳) 應在 php.ini 設置,ini_set 用於覆蓋
  4. 安全優先:生產環境禁用 display_errors、allow_url_fopen、expose_php

獲取完整參數列表

php -i | grep "php.ini"        # 查看配置文件路徑
php -i | grep "Local Value"    # 查看所有當前值
ini_get_all();                 # PHP 代碼中獲取所有配置
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved
參數默認值說明實戰場景
display_errorsOn顯示錯誤信息開發環境 On,生產 Off
error_reportingE_ALL錯誤報告級別開發 E_ALL,生產 E_ALL & ~E_NOTICE
max_execution_time30腳本最大執行秒數長任務設 300/0(無限制)
memory_limit128M腳本內存上限大數據導入導出調大
post_max_size8MPOST 數據最大值文件上傳需大於 upload_max_filesize
upload_max_filesize2M上傳文件大小限制配合 post_max_size 調整
session.gc_maxlifetime1440Session 垃圾回收壽命(秒)調整登錄保持時間
default_charsetUTF-8默認字符集統一編碼設定
date.timezoneUTC默認時區ini_set('date.timezone','Asia/Shanghai')
include_path.:/php/includes包含文件搜索路徑動態添加庫路徑