MediaWiki
REL1_35
eval.php
Go to the documentation of this file.
1
<?php
33
use
MediaWiki\Logger\ConsoleSpi
;
34
use
MediaWiki\Logger\LoggerFactory
;
35
use
MediaWiki\MediaWikiServices
;
36
37
$optionsWithArgs
= [
'd'
];
38
39
require_once __DIR__ .
"/commandLine.inc"
;
40
41
if
( isset( $options[
'd'
] ) ) {
42
$d = $options[
'd'
];
43
if
( $d > 0 ) {
44
LoggerFactory::registerProvider(
new
ConsoleSpi
);
45
// Some services hold Logger instances in object properties
46
MediaWikiServices::resetGlobalInstance();
47
}
48
if
( $d > 1 ) {
49
wfGetDB
(
DB_MASTER
)->setFlag(
DBO_DEBUG
);
50
wfGetDB
(
DB_REPLICA
)->setFlag(
DBO_DEBUG
);
51
}
52
}
53
54
$__useReadline
= function_exists(
'readline_add_history'
)
55
&&
Maintenance::posix_isatty
( 0
/*STDIN*/
);
56
57
if
(
$__useReadline
) {
58
$__historyFile = isset( $_ENV[
'HOME'
] ) ?
59
"{$_ENV['HOME']}/.mweval_history"
:
"$IP/maintenance/.mweval_history"
;
60
readline_read_history( $__historyFile );
61
}
62
63
$__e
=
null
;
// PHP exception
64
while
( ( $__line =
Maintenance::readconsole
() ) !==
false
) {
65
if
(
$__e
&& !preg_match(
'/^(exit|die);?$/'
, $__line ) ) {
66
// Internal state may be corrupted or fatals may occur later due
67
// to some object not being set. Don't drop out of eval in case
68
// lines were being pasted in (which would then get dumped to the shell).
69
// Instead, just absorb the remaning commands. Let "exit" through per DWIM.
70
echo
"Exception was thrown before; please restart eval.php\n"
;
71
continue
;
72
}
73
if
(
$__useReadline
) {
74
readline_add_history( $__line );
75
readline_write_history( $__historyFile );
76
}
77
try
{
78
$__val = eval( $__line .
";"
);
79
}
catch
( Exception
$__e
) {
80
fwrite( STDERR,
"Caught exception "
. get_class(
$__e
) .
81
": {$__e->getMessage()}\n"
.
$__e
->getTraceAsString() .
"\n"
);
82
continue
;
83
}
84
if
( $__val ===
null
) {
85
echo
"\n"
;
86
} elseif ( is_string( $__val ) || is_numeric( $__val ) ) {
87
echo
"$__val\n"
;
88
}
else
{
89
var_dump( $__val );
90
}
91
}
92
93
print
"\n"
;
wfGetDB
wfGetDB( $db, $groups=[], $wiki=false)
Get a Database object.
Definition
GlobalFunctions.php:2462
Maintenance\readconsole
static readconsole( $prompt='> ')
Prompt the console for input.
Definition
Maintenance.php:1578
Maintenance\posix_isatty
static posix_isatty( $fd)
Wrapper for posix_isatty() We default as considering stdin a tty (for nice readline methods) but trea...
Definition
Maintenance.php:1565
MediaWiki\Logger\ConsoleSpi
Definition
ConsoleSpi.php:5
MediaWiki\Logger\LoggerFactory
PSR-3 logger instance factory.
Definition
LoggerFactory.php:45
MediaWiki\MediaWikiServices
MediaWikiServices is the service locator for the application scope of MediaWiki.
Definition
MediaWikiServices.php:152
print
while(( $__line=Maintenance::readconsole()) !==false) print
Definition
eval.php:64
$__useReadline
if(isset( $options['d'])) $__useReadline
Definition
eval.php:54
$optionsWithArgs
$optionsWithArgs
Definition
eval.php:37
$__e
if( $__useReadline) $__e
Definition
eval.php:63
DB_REPLICA
const DB_REPLICA
Definition
defines.php:25
DB_MASTER
const DB_MASTER
Definition
defines.php:29
DBO_DEBUG
const DBO_DEBUG
Definition
defines.php:9
maintenance
eval.php
Generated on Sat Apr 6 2024 00:08:24 for MediaWiki by
1.9.8