PHP parse_ini_file с косой чертой в WINDOWS PHP 5.3.0 - PullRequest
0 голосов
/ 14 марта 2012

Я использую программное обеспечение вики: dokuwiki и после установки шаблона: http://www.dokuwiki.org/template:monobook

Я получаю эту ошибку при локальном тестировании с использованием WAMP в Windows 7 64bit: Апач: 2.2.11
PHP: 5.3.0

ОБНОВЛЕНИЕ Я обновил свою версию PHP до 5.3.1, и это исправило ошибки.

Предупреждение : ошибка разбора в C: \ wamp \ www \ wiki \ lib \ exe /../../ lib / tpl / monobook / style.ini в строке 30 в C: \ wamp \ www \ wiki \ lib \ exe \ css.php в строке 54
Предупреждение : указан неверный аргумент для foreach ( ) в C: \ wamp \ www \ wiki \ lib \ exe \ css.php on line 55

style.ini

; INI to handle loading of the CSS files of the "monobook" template for DokuWiki
;
;
; LICENSE: This file is open source software (OSS) and may be copied under
;          certain conditions. See COPYING file for details or try to contact
;          the author(s) of this file in doubt.
;
; @license GPLv2 (http://www.gnu.org/licenses/gpl2.html)
; @author Andreas Haerter <development@andreas-haerter.com>
; @link http://andreas-haerter.com/projects/dokuwiki-template-monobook
; @link http://www.dokuwiki.org/template:monobook
; @link http://www.dokuwiki.org/devel:css#styleini



; Please see http://www.php.net/manual/en/function.parse-ini-file.php
; for limitations of the ini format used here

; Define the stylesheets your template uses here. The second value
; defines for which output media the style should be loaded. Currently
; print, screen and rtl are supported. rtl styles are loaded additionally
; to screen styles if a right-to-left language is selected (eg. hebrew)
[stylesheets]

; screen
; note to myself: don't forget to respect the workaround within "bug49642.php"
;                 when adding new screen styles.
; load the DokuWiki styles. See <http://j.mp/eq8zSo> why I am doing this.
[line:30] static/3rd/dokuwiki/_imgdetail.css        = screen
static/3rd/dokuwiki/_media_popup.css      = screen
static/3rd/dokuwiki/_media_fullscreen.css = screen
static/3rd/dokuwiki/_fileuploader.css     = screen
static/3rd/dokuwiki/_tabs.css             = screen
static/3rd/dokuwiki/_links.css            = screen
static/3rd/dokuwiki/_toc.css              = screen
static/3rd/dokuwiki/_footnotes.css        = screen
static/3rd/dokuwiki/_search.css           = screen
static/3rd/dokuwiki/_recent.css           = screen
static/3rd/dokuwiki/_diff.css             = screen
static/3rd/dokuwiki/_edit.css             = screen
static/3rd/dokuwiki/_modal.css            = screen
static/3rd/dokuwiki/_forms.css            = screen
static/3rd/dokuwiki/_admin.css            = screen

; load the most important MediaWiki monobook styles
static/3rd/monobook/main.css = screen

; load the specific "monobook for dokuwiki" styles
static/css/screen.css = screen
user/screen.css       = screen

Это код PHP в css.php, который загружает INI-файл:

// load template styles
$tplstyles = array();
if(@file_exists($tplinc.'style.ini')){
    $ini = parse_ini_file($tplinc.'style.ini',true);
    foreach($ini['stylesheets'] as $file => $mode){
        $tplstyles[$mode][$tplinc.$file] = $tpldir;
    }
}

1 Ответ

0 голосов
/ 14 марта 2012

Это действительно известная ошибка только в PHP 5.3.0.Смотри https://bugs.php.net/bug.php?id=49692

...