📄 header_php.php
字号:
$xml_support = function_exists('xml_parser_create') ? ON : OFF;
$status_check2[] = array('Importance' => 'Optional', 'Title' => LABEL_XML_SUPPORT, 'Status' => $xml_support, 'Class' => ($xml_support==ON)?'OK':'WARN', 'HelpURL' =>'', 'HelpLabel'=>'');
//Check for FTP support built in to PHP (for manual sending of configure.php files to server if applicable)
$php_ext_ftp = (@extension_loaded('ftp')) ? ON : OFF;
if ($php_ext_ftp == ON) $status_check2[] = array('Importance' => 'Optional', 'Title' => LABEL_PHP_EXT_FTP, 'Status' => $php_ext_ftp, 'Class' => ($php_ext_ftp==ON)?'OK':'WARN', 'HelpURL' =>'', 'HelpLabel'=>'');
//Check for pfpro support in PHP for Verisign Payflow Pro payment gateway (Verisign SDK required)
$php_ext_pfpro = (@extension_loaded('pfpro')) ? ON : OFF;
if ($php_ext_pfpro==ON) $status_check2[] = array('Importance' => 'Optional', 'Title' => LABEL_PHP_EXT_PFPRO, 'Status' => $php_ext_pfpro, 'Class' => ($php_ext_pfpro==ON)?'OK':'WARN', 'HelpURL' =>'', 'HelpLabel'=>'');
// PHP output buffering (GZip) (PHP configuration)
$php_buffer = (@ini_get("output_buffering")) ? ON : OFF;
$status_check2[] = array('Importance' => 'Optional', 'Title' => LABEL_GZIP, 'Status' => $php_buffer, 'Class' => ($php_buffer==ON)?'OK':'WARN', 'HelpURL' =>'', 'HelpLabel'=>'');
//Check PostgreSQL availability
$pg_support = (function_exists( 'pg_connect' )) ? ON : OFF;
// turn off display of Postgres status until we support it again
//$status_check2[] = array('Importance' => 'Optional', 'Title' => LABEL_POSTGRES_AVAILABLE, 'Status' => $pg_support, 'Class' => ($pg_support==ON) ? 'OK' : 'WARN', 'HelpURL' =>ERROR_CODE_DB_NOTSUPPORTED, 'HelpLabel'=>ERROR_TEXT_DB_NOTSUPPORTED);
//OpenBaseDir setting
// read restrictions, and check whether the working folder falls within the list of restricted areas
$this_class = 'OK';
if ($open_basedir = ini_get('open_basedir')) {
$found_basedir = false;
// if anything is found for open_basedir, set to warning:
if ($open_basedir) $this_class = 'WARN';
// expand based on : symbol, or ; for windows
$basedir_check_array = explode(':',$open_basedir);
if (!is_array($basedir_check_array)) $basedir_check_array = explode(';',$open_basedir);
// now loop thru paths in the open_basedir settings to find a match to our site. If not found, issue warning.
if (is_array($basedir_check_array) && $dir_fs_www_root !='') {
foreach($basedir_check_array as $basedir_check) {
// echo 'www-root: ' . $dir_fs_www_root . '<br /> basedir: ' . $basedir_check . '<br /><br />';
if ($basedir_check !='' && strstr($dir_fs_www_root, $basedir_check)) {
//echo 'FOUND<br /><br />';
$found_basedir=true;
}
}
}
if (!$found_basedir) $this_class = 'FAIL';
}
$status_check2[] = array('Importance' => 'Recommended', 'Title' => LABEL_OPEN_BASEDIR, 'Status' => $open_basedir, 'Class' => $this_class, 'HelpURL' =>'', 'HelpLabel'=>'Could have problems uploading files or doing backups');
//Sendmail-From setting (PHP configuration)
$sendmail_from = @ini_get("sendmail_from");
$status_check2[] = array('Importance' => 'Info', 'Title' => LABEL_SENDMAIL_FROM, 'Status' => $sendmail_from, 'Class' => 'NA', 'HelpURL' =>'', 'HelpLabel'=>'');
//Sendmail Path setting (PHP configuration)
$sendmail_path = @ini_get("sendmail_path");
$status_check2[] = array('Importance' => 'Info', 'Title' => LABEL_SENDMAIL_PATH, 'Status' => $sendmail_path, 'Class' => 'NA', 'HelpURL' =>'', 'HelpLabel'=>'');
//SMTP (vs sendmail) setting (PHP configuration)
$smtp = @ini_get("SMTP");
$status_check2[] = array('Importance' => 'Info', 'Title' => LABEL_SMTP_MAIL, 'Status' => $smtp, 'Class' => 'NA', 'HelpURL' =>'', 'HelpLabel'=>'');
//include_path (PHP configuration)
$includePath = @ini_get("include_path");
$status_check2[] = array('Importance' => 'Info', 'Title' => LABEL_INCLUDE_PATH, 'Status' => $includePath, 'Class' => 'NA', 'HelpURL' =>'', 'HelpLabel'=>'');
// reverse the order for slightly more pleasant display
$status_check2 = array_reverse($status_check2);
// error-condition-detection
$php_extensions = get_loaded_extensions();
$admin_config_exists = $zc_install->test_admin_configure(ERROR_TEXT_ADMIN_CONFIGURE,ERROR_CODE_ADMIN_CONFIGURE, ($zen_cart_previous_version_installed && $zen_cart_database_connect_OK ? false : true));
$store_config_exists = $zc_install->test_store_configure(ERROR_TEXT_STORE_CONFIGURE,ERROR_CODE_STORE_CONFIGURE);
if ($php_ext_sessions=="OFF") {$zc_install->setError(ERROR_TEXT_PHP_SESSION_SUPPORT, ERROR_CODE_PHP_SESSION_SUPPORT, true);}
// don't restrict ability to proceed with installation if upgrading the database w/o touching configure.php files is a suitable option
$zen_cart_allow_database_upgrade_button_disable = $zc_install->fatal_error;
// do we override the fatal error caused by configure.php files not being writable? Automatic for Windows hosts, due to the complexities of permissions on Windoze
if ($configWriteOverride || stristr(PHP_OS, 'WinNT') || stristr(getenv("SERVER_SOFTWARE"), 'Win32') || stristr($real_path, 'wwwroot') || stristr($real_path, 'inetpub') || stristr($real_path, ':')) {
$configWriteOverride = true;
}
// now check for writability of the configure.php files (after capturing fatal_error status above).
if ($admin_config_exists) $admin_config_writable = $zc_install->test_admin_configure_write(ERROR_TEXT_ADMIN_CONFIGURE_WRITE,ERROR_CODE_ADMIN_CONFIGURE_WRITE, !$configWriteOverride);
if ($store_config_exists) $store_config_writable = $zc_install->test_store_configure_write(ERROR_TEXT_STORE_CONFIGURE_WRITE,ERROR_CODE_STORE_CONFIGURE_WRITE, !$configWriteOverride);
foreach (array('includes/configure.php', 'admin/includes/configure.php') as $file) {
$this_writable='';
$this_exists='';
if (file_exists('../' . $file)) {
$this_exists='';
if ($zc_install->isWriteable('../' . $file)) {
$this_class = 'OK';
$this_writable=WRITABLE;
} else {
$this_class = 'FAIL';
$this_writable=UNWRITABLE;
}
} else {
$this_exists=NOT_EXIST;
$this_class='FAIL';
}
$file_status[]=array('file'=>$file, 'exists'=>$this_exists, 'writable'=>$this_writable, 'class'=> $this_class);
}
//check folders status
foreach (array('cache'=>'777 read/write/execute',
'images'=>'777 read/write/execute (INCLUDE SUBDIRECTORIES TOO)',
'includes/languages/english/html_includes'=>'777 read/write (INCLUDE SUBDIRECTORIES TOO)',
'media'=>'777 read/write/execute',
'pub'=>'777 read/write/execute',
'admin/backups'=>'777 read/write',
'admin/images/graphs'=>'777 read/write/execute'
) as $folder=>$chmod) {
$folder_status[]=array('folder'=>$folder, 'writable'=>(@is_writable('../'.$folder)) ? OK : UNWRITABLE, 'class'=> (@is_writable('../'.$folder)) ? 'OK' : 'WARN', 'chmod'=>$chmod);
}
// disable Install/Upgrade buttons if fatal error discovered
$button_status = ($zc_install->fatal_error && !isset($_GET['ignorefatal'])) ? 'disabled="disabled"' : '';
$button_status_upg = ($zen_cart_allow_database_upgrade_button_disable && !isset($_GET['ignorefatal'])) ? 'disabled="disabled"' : '';
// record system inspection results
$data = "\n------------------------------\n";
foreach ($status_check as $val) {
$data .= $val['Class'] . ': ' . $val['Title'] . ' => ' . $val['Status'] . "\n"; // $val['HelpLabel']
}
foreach ($status_check2 as $val) {
$data .= $val['Class'] . ': ' . $val['Title'] . ' => ' . $val['Status'] . "\n"; // $val['HelpLabel']
}
foreach ($file_status as $val) {
$data .= $val['class'] . ': ' . $val['file'] . ' => ' . $val['exists'] . ' ' . $val['writable'] . "\n";
}
foreach ($folder_status as $val) {
$data .= $val['class'] . ': ' . $val['folder'] . ' => ' . $val['writable'] . ' ' . $val['chmod'] . "\n";
}
$data .= 'PHP Extensions compiled: ';
foreach($php_extensions as $module) { $data .= $module . ', '; }
$data = substr($data, 0, -2); // remove trailing comma
$data .= "\n------------------------------\n";
// $zc_install->logDetails('System Inspection Results: ' . str_replace(array('<br />', '<br>', ' '), '', $data));
// PROCESS TEMPLATE BUTTONS, IF CLICKED
if (isset($_POST['submit'])) {
if (!$zc_install->fatal_error) {
$zc_install->setConfigKey('is_upgrade', 0);
header('location: index.php?main_page=database_setup' . zcInstallAddSID() );
exit;
}
} else
if (isset($_POST['upgrade'])) {
if (!$zc_install->fatal_error) {
$zc_install->setConfigKey('is_upgrade', 1);
header('location: index.php?main_page=database_setup' . zcInstallAddSID() );
exit;
}
} else
if (isset($_POST['db_upgrade'])) {
if (!$zen_cart_allow_database_upgrade_button_disable) {
$zc_install->setConfigKey('is_upgrade', 1);
header('location: index.php?main_page=database_upgrade' . zcInstallAddSID() );
exit;
}
} else
if (isset($_POST['refresh'])) {
$zc_install->logDetails('System Inspection Results: ' . str_replace(array('<br />', '<br>', ' '), '', $data));
header('location: index.php?main_page=inspect' . zcInstallAddSID() );
exit;
} else {
$zc_install->logDetails('System Inspection Results: ' . str_replace(array('<br />', '<br>', ' '), '', $data));
}
?>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -