|
użytkowników online: 47
|
OPINIE UŻYTKOWNIKÓW
|
Z mojej strony serwisowi należy się bardzo mocna pochwała. Nawet późna pora zgłoszenia problemu (23.00) nie przeszkodziła Darkowi w jego rozwiązaniu. Do tego poziom odpisywania na maile jest bardzo wysoki... wszystko wykłada jak cierpliwy nauczyciel. Śmiało mogę przyznać, że zamieszczone na stronach porady są rzeczowo opisane - a nie jak to bywa w innych serwisach mamy sam kod i nic poza tym! Jeszcze raz wielkie dzięki!
Damian Jarosz
Adminer.pl
|
|
PODRĘCZNIK PHP 5.x, 4.x, 3.x - częściowo spolszczony / źródło: www.php.net
[Spis]
[A]
[B]
[C]
[D]
[E]
[F]
[G]
[H]
[I]
[J]
[K]
[L]
[M]
[N]
[O]
[P]
[Q]
[R]
[S]
[T]
[U]
[V]
[X]
[W]
[Z]
LIV. PHP Options&Information
This functions enable you to get a lot of information about PHP itself,
e.g. runtime configuration, loaded extensions, version and much more.
You'll also find functions to set options for your running PHP.
The probably best known function of PHP - phpinfo() -
can be found here.
Do zbudowania tego rozszerzenia nie są wymagane
żadne zewnętrzne biblioteki. By używać tych funkcji, nie trzeba niczego instalować.
Są one częścią jądra PHP.
Na działanie tych funcji wpływają ustawienia zawarte w pliku
php.ini.
Tabela 1. PHP Options/Inf Configuration Options | Name | Default | Changeable | Changelog |
|---|
| assert.active | "1" | PHP_INI_ALL | | | assert.bail | "0" | PHP_INI_ALL | | | assert.warning | "1" | PHP_INI_ALL | | | assert.callback | NULL | PHP_INI_ALL | | | assert.quiet_eval | "0" | PHP_INI_ALL | | | enable_dl | "1" | PHP_INI_SYSTEM | | | max_execution_time | "30" | PHP_INI_ALL | | | max_input_time | "-1" | PHP_INI_PERDIR | Available since PHP 4.3.0. | | magic_quotes_gpc | "1" | PHP_INI_PERDIR | PHP_INI_ALL in PHP <= 4.2.3. | | magic_quotes_runtime | "0" | PHP_INI_ALL | |
Szczegóły i definicje dotyczące stałych
PHP_INI_* znajdują się w rozdziale Dodatek H.
Oto krótkie wyjaśnienie dyrektyw
konfiguracji.
- assert.active
boolean
Enable assert() evaluation.
- assert.bail
boolean
Terminate script execution on failed assertions.
- assert.warning
boolean
Issue a PHP warning for each failed assertion.
- assert.callback
string
user function to call on failed assertions
- assert.quiet_eval
boolean
Use the current setting of error_reporting() during
assertion expression evaluation. If enabled, no errors are shown
(implicit error_reporting(0)) while evaluation. If disabled, errors are
shown according to the settings of error_reporting()
- enable_dl
boolean
This directive is really only useful in the Apache module
version of PHP. You can turn dynamic loading of
PHP extensions with dl() on and
off per virtual server or per directory.
The main reason for turning dynamic loading off is
security. With dynamic loading, it's possible to ignore all
open_basedir restrictions.
The default is to allow dynamic loading, except when using
tryb bezpieczny. In tryb bezpieczny, it's
always impossible to use dl().
- max_execution_time
integer
This sets the maximum time in seconds a script is allowed to
run before it is terminated by the parser. This helps
prevent poorly written scripts from tying up the server. The
default setting is 30.
The maximum execution time is not affected by system calls,
stream operations etc. Please see the
set_time_limit() function for more
details.
You can not change this setting with ini_set() when
running in tryb bezpieczny. The only workaround is to turn off safe mode or
by changing the time limit in the php.ini.
Your webserver can have other timeouts. E.g. Apache has
Timeout directive, IIS has CGI timeout function, both
default to 300 seconds. See the webserver documentation for meaning of it.
- max_input_time
integer
This sets the maximum time in seconds a script is allowed to
receive input data, like POST, GET and file uploads.
- magic_quotes_gpc
boolean
Sets the magic_quotes state for GPC (Get/Post/Cookie)
operations. When magic_quotes are on, all ' (single-quote),
" (double quote), \ (backslash) and NUL's are escaped
with a backslash automatically.
Notatka:
If the
magic_quotes_sybase directive is also ON it will
completely override magic_quotes_gpc. Having both directives
enabled means only single quotes are escaped as
''. Double quotes, backslashes and
NUL's will remain untouched and unescaped.
See also get_magic_quotes_gpc()
- magic_quotes_runtime
boolean
If magic_quotes_runtime is enabled,
most functions that return data from any sort of external
source including databases and text files will have quotes
escaped with a backslash. If
magic_quotes_sybase
is also on, a single-quote is escaped with a single-quote instead
of a backslash.
To rozszerzenie nie posiada żadnych rodzajów zasobów.
Poniższe stałe są częścią jądra PHP a więc są zawsze widoczne.
Tabela 2. Pre-defined phpcredits() constants | Constant | Value | Description |
|---|
| CREDITS_GROUP | 1 | A list of the core developers | | CREDITS_GENERAL | 2 |
General credits: Language design and concept, PHP
authors and SAPI module.
| | CREDITS_SAPI | 4 |
A list of the server API modules for PHP, and their authors.
| | CREDITS_MODULES | 8 |
A list of the extension modules for PHP, and their authors.
| | CREDITS_DOCS | 16 |
The credits for the documentation team.
| | CREDITS_FULLPAGE | 32 |
Usually used in combination with the other flags. Indicates
that a complete stand-alone HTML page needs to be
printed including the information indicated by the other
flags.
| | CREDITS_QA | 64 |
The credits for the quality assurance team.
| | CREDITS_ALL | -1 |
All the credits, equivalent to using: CREDITS_DOCS +
CREDITS_GENERAL + CREDITS_GROUP + CREDITS_MODULES + CREDITS_QA
CREDITS_FULLPAGE. It generates a complete stand-alone HTML
page with the appropriate tags. This is the default value.
|
Tabela 3. phpinfo() constants | Constant | Value | Description |
|---|
| INFO_GENERAL | 1 |
The configuration line, php.ini location, build date, Web
Server, System and more.
| | INFO_CREDITS | 2 |
PHP Credits. See also phpcredits().
| | INFO_CONFIGURATION | 4 |
Current Local and Master values for PHP directives. See
also ini_get().
| | INFO_MODULES | 8 |
Loaded modules and their respective settings.
| | INFO_ENVIRONMENT | 16 |
Environment Variable information that's also available in
$_ENV.
| | INFO_VARIABLES | 32 |
Shows all
predefined variables from EGPCS (Environment, GET,
POST, Cookie, Server).
| | INFO_LICENSE | 64 |
PHP License information. See also the license faq.
| | INFO_ALL | -1 |
Shows all of the above. This is the default value.
|
User Contributed Notesdescartavel dot 1 at gmail dot com
16-Nov-2005 12:20
Removes magic quotes and register globals.
it's simply a fixed version of some attemps to solve the problem. i just mixed some and fixed some minor logic.
function _strip_magic_quotes( &$arr ){
foreach( $arr as $k=>$v ){
if( is_array($v) ){
$arr[$k] = strip_magic_quotes($v);
}else{
$arr[$k] = stripslashes($v);
}
}
return $arr;
}
foreach( array('_GET','_POST','_COOKIE') as $source ){
foreach( ${$source} as $key=>$value ){
if( ini_get('register_globals') ){ // If register_globals is enabled
unset( ${$key} );
}
}
if( get_magic_quotes_gpc() ){
_strip_magic_quotes( ${$source} );
}
}
epost at danieloskarsson dot se
13-Apr-2005 01:35
If you are having troube with unwanted slashes and you can't turn off magic_quotes_gpc in php.ini for some reasons. Then you can reverse the changes with the following script from http://www.sitepoint.com/forums/showpost.php?p=396899
<?php
function strip_magic_quotes($arr) {
foreach ($arr as $k => $v) {
if (is_array($v))
{ $arr[$k] = strip_magic_quotes($v); }
else
{ $arr[$k] = stripslashes($v); }
}
return $arr;
}
if (get_magic_quotes_gpc()) {
if (!empty($_GET)) { $_GET = strip_magic_quotes($_GET); }
if (!empty($_POST)) { $_POST = strip_magic_quotes($_POST); }
if (!empty($_COOKIE)) { $_COOKIE = strip_magic_quotes($_COOKIE); }
}
?>
This worked fine for me fixing what stripslashes() couldn't. The problem was that stripslashes() removed legacy added slashes from my PHP-code which I recieved from the POST-array. With the above function only the slashes added by magic_quotes_gpc() is removed.
gilthansNOSPAAM at gmailSPAAMBLOCK dot com
16-Mar-2005 02:04
Note: when magic_quotes_gpc is ON, it will also slash values inside both $_SERVER['QUERY_STRING'] and $_SERVER['SCRIPT_NAME'] (and equivalents) will also be slashed.
kok at mostware dot nl
17-Feb-2005 06:00
It's easy to get confused in all the magic_quotes settings. Therefor, I used this script to clear things up a little. Hope it helps!
Note 1: Use a simple costumer database table with as costumer_id and a costumer_name, named costumer.
Note 2: You'll manually have to set magic_quotes_gpc in the php.ini, since it cannot be changed at runtime. Change it, restart your webserver, run again and see the difference. ;)
-----
<?php
function new_attempt() {
echo 'get_magic_quotes_gpc = ' . get_magic_quotes_gpc() . '<br>';
echo 'get_magic_quotes_runtime = ' . get_magic_quotes_runtime() . '<br>';
$userinput = $_POST['userinput'];
echo "userinput = $userinput<br>";
echo '<i>Update without addslashes</i><br>';
$sql = "update costumer set costumer_name = '$userinput' where costumer_id = 1";
echo "sql = $sql<br>";
echo 'mysql_query = ' . mysql_query ( $sql ) . '<br>';
echo '<i>Update with addslashes</i><br>';
$sql = "update costumer set costumer_name = '" . addslashes($userinput) . "' where costumer_id = 2";
echo "sql addslashes = $sql<br>";
echo 'mysql_query = ' . mysql_query ( $sql ) . '<br>';
echo '<i>Select without stripslashes 2</i><br>';
$sql = "select costumer_name from costumer where costumer_id = 2";
echo "sql = $sql<br>";
$resquery = mysql_query ( $sql );
echo 'mysql_query = ' . $resquery . '<br>';
$resfetch = mysql_fetch_array( $resquery );
echo 'mysql_fetch_array = ' . $resfetch . '<br>';
echo 'array[\'costumer_name\'] = ' . $resfetch['costumer_name'] . '<br>';
echo '<i>Select with stripslashes 2</i><br>';
$sql = "select costumer_name from costumer where costumer_id = 2";
echo "sql = $sql<br>";
$resquery = mysql_query ( $sql );
echo 'mysql_query = ' . $resquery . '<br>';
$resfetch = mysql_fetch_array( $resquery );
echo 'mysql_fetch_array = ' . $resfetch . '<br>';
echo 'array[\'costumer_name\'] stripslashes = ' . stripslashes($resfetch['costumer_name']) . '<br>';
}
?>
<html>
<head>
<title>slashes test</title>
</head>
<body>
<?php
if ( $_POST ) {
mysql_connect ( 'server' , 'user' , 'pass' );
mysql_select_db ( 'database' );
echo '<p><b>set_magic_quotes_runtime = 0</b><br>';
set_magic_quotes_runtime(0);
new_attempt();
echo '</p><p><b>set_magic_quotes_runtime = 1</b><br>';
set_magic_quotes_runtime(1);
new_attempt();
echo '</p>';
}
?>
<p> </p>
<form method="post" name="slashes_form" action="slashes.php">
<input type="text" name="userinput" value="<?=$_POST['userinput']?>"/>
<input type="submit" name="submit" value="test">
</form>
</body>
</html>
Mark
15-Jun-2004 02:37
You probably don't want to set "magic_quotes_runtime" because it affects even binary file read/write operations. This is especially problematic if you include someone else's library that depends on binary read/write. If you enable "magic_quotes_runtime", be sure to use set_magic_quotes_runtime() function call to disable it before calling someone else's library that does binary read/write.
|