15.2. Настройки
На работу PHP влияют следующие настройки. Некоторые из них меняют значение переменных настройки, другие задерживают выполнение сценария на указанный период времени.
boolean bcscale(integer scale)
Функция bcscale (листинг 15.1) задает по умолчанию масштаб для функций, выполняющих математические операции над числами произвольной точности. Масштабом является количество цифр после десятичной точки. Описание чисел произвольной точности см. в главе 13, "Математические функции".
| Листинг 15.1. Функция bcscale
<?php
//использовать 10 цифр bcscale(10);
clearstatcache()
Вызов C-функции stat (листинг 15.2) может занять много времени. Для улучшения производительности PHP кэширует результаты каждого вызова. Функции, работающие с результатами работы функции stat, работают с кэш-памятью. При частом изменении информации о файле может потребоваться очистка кэш-памяти команды stat. Среди функций, использующих информацию из кэшпамяти функции stat, можно назвать следующие: fileatime, filectime, filegroup, fileinode, filemtime, fileowner, fileperms, filesize, filetype, file_exists, is_dir, is_executable, is_file, is_link, is_readable, is_writable, lstat, stat.
j Листинг 15.2. Функция clearstatcache_
<?php
//убедиться в том, что информация не кэшируется
clearstatcache();
//получить размер этого файла
print(filesize(_FILE_));
?>
define_syslog_variables()
Функция define_syslog_variables (листинг 15.3) эмулирует одноименную директиву настройки. Ее действие заключается в создании констант, которые используются в системном журнале, как переменных. Среди функций, взаимодействующих с системным журналом, можно назвать closelog, openlog и syslog.
j Листинг 15.3. Функция define_syslog_variables
<?php
define_syslog_variables();
boolean dl(string extension)
Функция dl предназначена для загрузки модуля динамического расширения. Эта функция возвращает значение FALSE, если модуль не может быть загружен. Путь к этим модулям задается в конфигурационном файле php.ini, поэтому достаточно задать только имя файла модуля. В операционной системе Unix они имеют расширение .so, а в Windows - расширение .dll.
Функция dl не работает как функция, когда PHP выполняется таким многопотоковым Web-сервером, как Apache 2. При использовании загружаемых расширений лучше всего их загружать в конфигурационном файле php.ini с помощью директивы extension.
integer error_reporting(integer level)
Функция error_reporting (листинг 15.4) задает уровень диагностирования ошибок и возвращает предыдущее значение. Аргумент level является битовым полем. Для того чтобы объединить различные типы сообщений об ошибках, используется оператор "побитового ИЛИ" (|). Эта функция отображает директиву с аналогичным названием. Коды уровней диагностирования см. в табл. 15.2.
j Листинг 15.4. Функция error_reporting_
<?php
//запуск с полной диагностикой, но без рассылки уведомлений error_reporting(E_ALL & ~E_NOTICE); //переменная пустая, но уведомления отсутствуют
print($empty_variable);
//добавить к текущим установкам рассылку уведомления error_reporting(error_reporting() | E_NOTICE); // пустая переменная и сообщение с уведомлением
print($empty_variable);
string get_include_path()
Функция get_include_path возвращает текущие установки, заданные для директивы include_path directive.
boolean iconv_set_encoding(string type, string character_set)
Функция iconv_set_encoding предназначена для задания кодировки, используемой расширением iconv для одного из трех типов: input_encoding, internal_encoding или output_encoding. С помощью функции iconv_get_encoding можно получить текущую кодировку.
ТОП-10 популярных
Для работы с вещественными числами в MySQL предусмотрено три типа данных - это типы FLOAT, DOUBLE, DECIMAL. Числовой тип FLOAT...
БОЛЬШЕ БОЛЬШИХ LCD-мониторов
Процесс вытеснения с рынка мониторов с электронно-лучевой трубкой (CRT) продолжается. О смещении акцентов в пользу LCD-мониторов теперь заявляют даже те...
Процесс вытеснения с рынка мониторов с электронно-лучевой трубкой (CRT) продолжается. О смещении акцентов в пользу LCD-мониторов теперь заявляют даже те...
Больше больших LCD-мониторов
Процесс вытеснения с рынка мониторов с электронно-лучевой трубкой (CRT) продолжается. О смещении акцентов в пользу LCD-мониторов теперь заявляют даже те...
Процесс вытеснения с рынка мониторов с электронно-лучевой трубкой (CRT) продолжается. О смещении акцентов в пользу LCD-мониторов теперь заявляют даже те...
НОУТБУК с блестящим экраном
Eсли выпустившая ноутбук фирма предлагает его в качестве «замены настольному ПК», то это должно подразумевать под собой нечто большее, чем...
Eсли выпустившая ноутбук фирма предлагает его в качестве «замены настольному ПК», то это должно подразумевать под собой нечто большее, чем...
Иди и пиши. TravelMate C100
Планшетный компьютер платформы Tablet PC обязан в первую очередь быть легким, способным достаточно долго работать без подзарядки батарей. Эти требования...
Планшетный компьютер платформы Tablet PC обязан в первую очередь быть легким, способным достаточно долго работать без подзарядки батарей. Эти требования...
Магнито-оптический дисковод DynaMO
Cейчас, когда традиционные флоппи-дисководы на долгие годы замерли в своем развитии, поиск альтернативных носителей продолжается, и ситуация, казалось бы, разрешилась...
Cейчас, когда традиционные флоппи-дисководы на долгие годы замерли в своем развитии, поиск альтернативных носителей продолжается, и ситуация, казалось бы, разрешилась...
Компьютер для гурманов.«Эксимер ДМ»
Российская компания «Эксимер ДМ», известная как производитель настольных компьютеров, рабочих станций, серверов и ноутбуков, выступила техническим спонсором проведения торжеств, посвященных...
Российская компания «Эксимер ДМ», известная как производитель настольных компьютеров, рабочих станций, серверов и ноутбуков, выступила техническим спонсором проведения торжеств, посвященных...
Для длинных строк, т.е. строк длиннее 255 символов, в MySQL предусмотрены типы BLOB (Binary Large Object, большой двоичный объект) и...
В дополнение к календарным типам, предназначенным для хранения даты и времени отдельно, MySQL также поддерживает гибридные типы данных DATETIME и...
Вообще, к изменению настроек сервера прибегают очень редко. В MySQL программа заранее настроена так, чтобы соответствовать самым распространенным и основным...
PHP. Настройка. Часть Девятая.
18-02-2015
<< Предыдущая статья | Следующая статья >> |
PHP. Настройка. Часть Восьмая. | PHP. Настройка. Часть Десятая. |