С какой рекламы начать арбитраж. Что такое арбитраж трафика? И как на нем заработать! Работа с реальными примерами необходима для обучения арбитражу трафика

PHP - это один из самых популярных языков программирования для создания сайтов и веб-приложений. На нем разработано множество готовых систем управления контентом для блогов, сайтов фирм или даже интернет-магазинов. Несмотря на то что у этого языка есть свои недостатки, он достаточно прост в освоении и поэтому очень часто используется для разработки новых сайтов.

Интерпретатор php может поставляться в виде модуля для Apache, выполнять скрипты из командной строки или в виде отдельного сервиса php-fpm. Эти сервисы отличаются своими возможностями, и предназначением, но для любого вида интерпретатора нужно задать базовые настройки, например, рабочая папка, включенные расширения, отображение ошибок и так далее. Все эти настройки задаются через файл php.ini. В этой инструкции мы рассмотрим как выполняется настройка файла php.ini в операционных системах Linux, хотя все информация подойдет и для Windows.

Если у вас еще не установлен интерпретатор языка программирования php, то вы можете ознакомиться со статьей .

Для каждой версии интерпретатора конфигурационный файл php.ini находится в отдельной папке. Но все конфигурационные файлы находятся в папке /etc/php, например, /etc/php5:

Папка conf.d содержит общие настройки для различных расширений и модулей, они не будут нас сейчас интересовать. Более интересны следующие три папки - apache, cli и fpm. В них содержатся конфигурационные файлы php.ini для каждого из этих интерпретаторов.

Если вы собираетесь использовать несколько из этих интерпретаторов, то вам придется указывать настройки для каждого из них отдельно. Вы можете убедиться, что в каждой из папок лежит файл php.ini.

Что касается синтаксиса файла, то он разделен на секции, сначала идет секция настройки php, которая разделена на подсекции в зависимости от типа настроек, дальше идут секции настройки разных модулей. Синтаксис самих настроек очень прост, он соответствует привычному синтаксису ini файлов. Строка начинается с имени настройки, затем следует знак равно, а за ним значение:

имя_настройки = значение_параметра

Символами обозначается имя секции, например, , а символ; означает комментарий, он и все символы после него не читаются интерпретатором. А теперь рассмотрим как выполняется настройка php.ini и переберем самые важные параметры.

Настройка файла php.ini

Для удобства ориентирования мы разобьем все параметры по категориях в зависимости от их назначения. Вам будет достаточно найти нужный параметр и изменить его значение. А теперь откройте файл настроек php, например, для модуля apache и перейдем к настройке. Чтобы избежать ошибок не добавляйте новые строки, а ищите уже существующие и изменяйте значения на нужные:

sudo gedit /etc/php5/apache/php.ini

Сначала идет немного информации о самом файле в виде комментариев, затем интересующие нас настройки.

Вывод ошибок в php

Настройка php 7 обычно начинается с конфигурации вывода ошибок. Все настройки вывода ошибок находятся в разделе Error handling and logging. По умолчанию вывод ошибок на экран во время выполнения скрипта отключен. Это сделано для того, чтобы пользователи не смогли увидеть ничего лишнего. Вместо этого, все ошибки записываются в лог файл. Если вы используете php на домашнем компьютере, то такие меры не нужны и вы можете сразу выводить все на экран:

display_errors=off

Замените off на on. В php используются различные типы ошибок, например, критические, предупреждения, ошибки синтаксиса, с помощью строки error_reporting вы можете включить вывод только определенных типов ошибок:

error_reporting = E_ALL & ~E_DEPRECATED

Если нужно объединить несколько типов ошибок, то используйте символ &, а для отключения отображения поставьте перед типом знак ~. Приведенный выше пример отображает все ошибки (E_ALL), кроме сообщений об устаревших функциях (E_DEPRECATED). Вы можете отключить все типы использовав 0:

error_reporting = 0

Включите запись ошибок php в лог файл, если не выводите их на экран:

Чтобы не засорять лог однотипными сообщениями можно игнорировать повторяющиеся ошибки в пределах одного исполнения:

ignore_repeated_errors = On

Ограничения ресурсов

Если бы скрипты php никак не ограничивались в ресурсах, то они запросто могли бы перегрузить сервер и не дать ему нормально работать. Поэтому, по умолчанию php устанавливает жесткие ограничения, но, возможно, вам нужно будет их немного ослабить.

По умолчанию максимальное время выполнения скрипта - 30 секунд, сделаем минуту:

max_execution_time = 30

Если указать 0, то скрипт может выполняться бесконечно. Вы также можете ограничить время, на протяжении которого скрипт будет загружать данные, 60 секунд:

max_input_time=60

Максимальное количество переменных в GET и POST:

max_input_vars = 1000

Следующий параметр задает максимальное количество памяти, которую может использовать один скрипт во время своего выполнения, в мегабайтах:

memory_limit = 128M

Максимальный размер данных, передаваемых в POST запросе тоже ограничивается, размер по умолчанию - 8 Мегабайт:

post_max_size = 8M

Вы можете ограничить область действия php в системе с помощью опции openbase_dir, она указывает папку, выше которой скрипт не может получить доступ к файловой системе:

open_basedir = /var/www/

С помощью директив disable_functions и disable_classes вы можете отключить использование в скриптах определенных функций или классов, например, это может быть полезно для веб-хостингов. В этом примере мы отключаем использование функции ini_set, которая позволяет менять настройки php из скрипта:

disable_functions = ini_set

Директории по умолчанию

Файл настройки php.ini позволяет указать пути в файловой системе по умолчанию для различных действий. Вы можете задать папки где система будет искать скрипты, если вы попытаетесь подключить их с помощью инструкции include:

include_path = ".:/usr/share/php5:/usr/share/php5/PEAR"

Папка с модулями php:

extension_dir="./"

Папка для записи временных файлов:

sys_temp_dir = "/tmp"

Для того чтобы пользователи могли загружать свои файлы на сервер, например, фото, нужно включить эту функцию в php:

file_uploads = On

Максимальный размер загружаемого файла:

upload_max_filesize = 2M

Максимальное количество файлов, которые может загрузить один скрипт:

max_file_uploads = 20

Настройка php.ini практически завершена, нам остались лишь расширения.

Настройка расширений

Расширения позволяют очень сильно увеличить функциональность php. Например, благодаря расширениям вы можете использовать в своих скриптах базы данных mysql, postgresql, mysqli, sqlite, графическую библиотеку gd и многое другое. Все это включается в этом разделе.

Для включения расширения достаточно убрать комментарий перед строкой с его командой, например:

extension=php_mysql.so
extension=php_mbstring.so
extension=php_pgsql.so

Обратите внимание, что для windows расширение будет иметь формат dll, но для linux нужно использовать so. В следующих секциях идет настройка каждого из расширений, но мы их рассматривать не будем потому что они обычно не требуют настройки.

Выводы

В этой статье мы рассмотрели как выполняется настройка php на сервере или обычном компьютере для разработки веб-сайтов. Файл настроек php имеет довольно простую структуру и с ним довольно не сложно справиться. После завершения всех настроек и сохранения изменений не забудьте перезагрузить веб-сервер или сервис php-fpm.

Вообще говоря, php-fpm это отдельная тема, потому что там есть много дополнительных настроек, и, возможно, мы рассмотрим его в одной из следующих статей. Если у вас остались вопросы, спрашивайте в комментариях!

Сегодня поговорим о wordpress. Бывает так, что необходимо перенести данные с одного сайта вордпресс на другой. Например новости и комментарии. Но почему-то так получилось, что далеко не все знают, что в wordpress предусмотрена данная возможность. Находится она в инструментах и делится на две функции экспорт и импорт wordpress. То есть, сегодня мы узнаем, как экспортировать данные нашего сайта, а затем импортировать их на другой. А также ответим на вопрос, который интересует многих кто пользовался импортом, где находится файл php.ini и как увеличить максимальный размер, для загружаемого файла.

Что такое экспорт wordpres s? Это функция, с помощью которой мы можем скачать файл в формате XML к себе на компьютер, который будет содержать записи, комментарии, страницы, рубрики и другие данные вашего сайта.

Для чего это может пригодиться? Экспорт может быть полезен, когда необходимо быстро перенести, например записи, с одного сайта wordpress на другой. Например, с локального сервера на хостинг.

Для того чтобы осуществить экспорт wordpress на свой компьютер, необходимо в меню админки выбрать инструменты и экспорт. После этого, нужно выбрать, что мы хотим сохранить, я чаще выбираю все. Выбираем и нажимаем на кнопку «скачать файл экспорта».

Теперь мы можем приступить к импорту файлов, на нужный сайт wordpress. Для этого, переходим в инструменты и импорт. После перехода, мы увидим обширный список возможностей импорта. Импорт файлов можно осуществить со многих систем не только с wordpress. Но в данном случае нас интересует именно с wordpress на вордпресс. А по поводу других систем, думаю, что все работает по аналогии.

Итак, для импорта нам необходимо установить плагин, что мы и сделаем. Выбираем строку с системой управления wordpress и нажимаем на нее.

После того, как плагин установится, нужно выбрать файл на компьютере и нажать на кнопку «загрузить и импортировать файл». И обратите внимание, что по умолчанию мы можем загрузить файл не более 2 мегабайт.

Если не появится никаких ошибок, то мы увидим окно, в котором мы сможем задать некоторые настройки. Например, назначить автора, для содержания, которое мы загружаем на сайт. А также, можно создать нового пользователя, для содержимого. Это, скорее всего, может пригодиться, если у нас на сайте есть регистрация и статьи публикуют разные пользователи. Но я не пользовался этими настройками. Я просто нажимал на кнопку «Представлять» или «Submit».

После чего появляется список импортированных данных. И в самом низу строка «All done» сообщала, что все готово и прошел удачно.


После этого, можно проверить загруженные данные и деактивировать плагин, который был установлен для импорта данных. А затем и удалить его, если в нем больше нет необходимости.

Но могут возникнуть и проблемы, например, если наш файл больше максимального, разрешенного размера, то вы увидите такую ошибку.

Что делать в этом случае? Необходимо изменить максимальное значение загружаемого файла, которое находится в файле php.ini.

Где найти php.ini и как изменить максимальные значения?

Теперь только остается правильно распределить свое время, это можно сделать, например, с помощью сайта — http://www.plan-your-time.com/ . Казалось бы, причем здесь время? Да все очень просто. Если наш сайт находится на хостинге, а не на , то самый простой вариант, это обратиться с данным вопросом в тех. поддержку, что сэкономит наше время и нервы. Так как файл php.ini не всегда позволяют редактировать. И тем более, не факт, что вам позволят использовать максимальное значение больше, чем 50 мегабайт, поэтому лучше сначала обратиться к хостеру и уточнить все тонкости, относящиеся к данным настройкам.

Если же, по каким-то причинам мы хотим сделать все сами. То для начала, нам необходимо найти данный файл. Для этого, в текстовом редакторе нужно создать php файл, назвать его можно, как угодно, например 1. В данный файл нужно добавить строку:

;

После этого, переходим на сайт и набираем в адресной строке: http://наш_сайт.ru/1.php. После этого, мы увидим конфигурацию php, а также узнаем, где находится файл php.ini . Местонахождение файла указано в строке «Loaded Configuration File». В моем случае, я ищу на локальном сервере denwer.


После того, как мы узнали, где находится php.ini, переходим по указанному пути и открываем его в текстовом редакторе. Ищем строку:

Upload_max_filesize

И меняем значение на необходимое. Например, если я заменил данное значение на 32, то теперь по идее должно быть можно загружать до 32 мегабайт, но в моем случае ограничение изменилось, но не на мое. Теперь, можно загрузить до 8Mb. Мне этого достаточно, но если нужно больше? Тогда ищем строку:

Post_max_size

В ней-то и было ограничение равное 8. После замены значения, максимум изменился до 32Mb. Что нам и требовалось.

Если же наш сайт находится на хостинге, то конечно же можно сделать тоже самое. Но часто бывает, что файл php.ini не удается найти, так как хостеры его прячут или что ни там с ним еще делают я не знаю, почему и рекомендовал, для начала обратиться в службу поддержки. Конечно, данный файл, скорее всего можно и самому создать, но зачем нам это? Есть простой вариант, с помощью.htaccess.

Для этого, подключаемся, через ftp-клиент, находим в корневой папке сайта файл.htaccess и открываем в текстовом редакторе, например в блокноте. И добавляем в самое начало:

Php_value upload_max_filesize 32M php_value post_max_size 32M

После этого, сохраняем файл и закачиваем обратно на сервер. Теперь максимальное значение будет 32 Mb. У вас конечно может быть другая цифра, но учтите, что многие хостеры позволяют устанавливать данное значение только до 50Mb, не более.

Вот и все. Получилась конечно целая эпопея, но зато теперь вы знаете, как осуществить экспорт и импорт wordpress, и самое главное где найти php.ini и как его отредактировать, а также как увеличить максимальный размер загружаемого файла на хостинге, с помощью.htaccess.

Редактирование php.ini
Файл конфигурации PHP php.ini очень длинный, и обескураживает новичков в программировании, но здесь не о чем беспокоиться. Это обычный текстовый файл, и одна из причин его длины, это содержание обширных комментариев, объясняющих различные настройки. Тем не менее, хорошей идеей является сделать резервную копию перед редактированием php.ini в случае, если вы допустили ошибку.
Как вы открываете php.ini для редактирования зависит от вашей операционной системы и от того, как вы установили PHP:

  • Если вы использовали пакет «всё-в-одном», например, такой как XAMPP на Windows, дважды щелкните php.ini в Проводнике Windows. Файл автоматически откроется в Notepad.
  • Если PHP установлен с помощью инструмента Microsoft Web PI, php.ini, как правило, находится в подпапке Program Files. Хотя открыть php.ini можно дважды щелкнув по нему, вы не сможете сохранить какие-либо изменения. Вместо этого выберите Start => All Programs => Accessories , щелкните правой кнопкой мыши по Notepad , и выберите Run as Administrator из контекстного меню. В программе Notepad выберите File => Open и установите параметр для отображения All Files (*.*) . Перейдите к папке, в которой находится php.ini, выберите файл и нажмите кнопку Open .
  • В Mac OS X php.ini отображается в Finder как исполняемый файл. Используйте текстовый редактор, такой как BBEdit или TextWrangler (оба доступны из www.barebones.com ), чтобы открыть php.ini.

Для директив, которые используют On (включить) или Off (выключить), просто измените значение на рекомендуемое. Например, если необходимо включить отображение сообщений об ошибках, отредактируйте данную строку:
display_errors = Off
Замените ее на следующую:
display_errors = On

Чтобы установить уровень сообщений об ошибках, нужно использовать PHP константы, которые пишутся в верхнем регистре и с учетом регистра.

Для PHP 5.3, директива должна выглядеть следующим образом:
error_reporting = E_ALL | E_STRICT
Сивол между E_ALL и E_STRICT это вертикальная черта. На большинстве клавиатур её можно вставить, удерживая нажатой клавишу Shift и набрав обратную косую черту.
Чтобы установить уровень сообщений об ошибках на PHP 5.2, используйте следующую строку:
error_reporting = E_ALL

После редактирования php.ini, сохраните файл и перезапустите Apache или IIS, чтобы изменения вступили в силу.
Если веб-сервер не запустится, проверьте лог-файлы, как описано ранее в этой главе, и вы будете благодарны, если последовали совету и сделали резервную копию php.ini перед его редактированием. Начните заново с новой копией php.ini и внимательно проверьте свои изменения.

Настройки языка

engine = On

Директива разрешает (on) или запрещает (off) работу скриптов на РНР под управлением сервера Apache.

short_open_tag = On

Директива разрешает (on) или запрещает (off) использование коротких тегов

Директива запрещает (off) или разрешает (On) использование тегов в стиле

ASP (<% %>).

Precision - 12

Директива залает число значащих цифр после запятой для чисел с плавающей точкой.

output_buffering = 4096

Директива включает буферизацию вывода с одновременным указанием размера буфера вывода в байтах. Включен ная директива (output_buffering = on) позволяет посылать заголовки, в том числе и cookie после вывода текста. В случае, если размер буфера не указан, используется максимально возможный размер буфера.

implicit_flush = Off

Действие этой директивы аналогично вызову функции flush (функция, очищающая буфер вывода РНР) после каждого применения функций print или echo и после каждого HTML-блока. Использование указанной директивы серьезно замедляет выполнение скриптов, поэтому по умолчанию она отключена, и использовать ее рекомендуется только в целях отладки. allow_call_time_pass_reference = Off

Эта директива определяет, возможна ли передача аргументов функциям по ссылке при выполнении скрипта. В РНР 5 по умолчанию отключена. Поскольку в более ранних версиях языка указанная директива по умолчанию находилась во включенном состоянии, при переходе на РНР 5 возможны проблемы с выполнением этих скриптов (будут появляться предупреждения всякий раз, когда аргумент передается ненадлежащим образом).

safe_mode = Off

Директива отключает (off) или включает (on) безопасный режим.

highlight.string = #DDOOOO highlight.comment = #FF8000 highlight.keyword = #007700 highlighl.bg = #FFFFFF highlight.default = iOuOOBB highlight. html = #000000

Набор данных директив определяет цвета, используемые для раскраски синтаксиса РНР при вызове функций highlight_string.

Ограничение по ресурсам

max_execution_time = 30

Директива определяет, что максимальное возможное время выполнения скрипта составляет 30 секунд.

max_input_time = 60

Директива задает максимальное время, которое скрипт может потратить на обработку запрошенных данных.

memory_limit= 8М

Директива определяет, что максимальный объем памяти, выделяемый одному сценарию, составляет 8 Мбайт.

Обработка ошибок и журнализация

error_reporting

Директива error reporting задается в виде битового поля, т. е. ее значение устанавливается с помощью нижеперечисленных констант, объединенных оператором | (or ):

E all (все предупреждения и ошибки);

Е_parse (ошибки трансляции);

E notice (замечания во время выполнения, которые сообщают о возможных логических ошибках в скрипте; к этому типу ошибок относятся, к примеру, предупреждения об использовании неинициализированных переменных);

E core errqr (фатальные ошибки при старте РНР);

Е fore warning {предупреждения при старте РНР);

E compile error (фатальные ошибки при компиляции);

Е_сомрile_warning (предупреждения при компиляции);

E_user_error (ошибки, вызванные действиями пользователя);

E user marking (предупреждения, вызванные действиями пользователя);

Таким образом, для того, чтобы отображ&тись все ошибки, за исключением замечаний о возможных логических ошибках в сценарии, нужно установить директиву error_reporting следующим образом:

error_reporting = ~E_ALL & ~Е NOTICE

Для того чтобы показывать только ошибки, директива должна быть настроена так, как показано ниже:

error__reporting = !E_COMPILE_ERRORIE_ERRORIE_CORE_ERROR
display_errors = Off

Директива запрещает вывод ошибок и предупреждений в браузер. При отладке приложений следует включить эту директиву, б реальной же работе лучше ее отключить (в РНР 5 по умолчанию она отключена), поскольку при включенной dispiay errors посетитель может получить доступ к секретной информации. Вместо этой директивы можно использовать журнализацию. display_startup__errors = Off

Директива отключает (off) или разрешает (on) отображение ошибок, возникающих при старте РНР.

log_errors = Off

Директива отключает (off) или разрешает (on) сохранение сообщений об ошибках в файле журнала.

log__errors_max_len = 1024

Директива задает максимальную длину файла журнала.

track errors = Off

Директива отключает (off) или включает (on) сохранение сообщения о последней ошибке в переменной $php _erronr,sg

html _errors = Off

Директива отключает (off) или включает (on) вывод возможных сообщений об ошибках в HTML.

error_log = filename

Данная директива позволяет вести журнал в файле filename.

Обработка данных

Директива track_vars всегда включена начиная с версии РНР 4.0.3.

variables_order - "EGPCS"

Эта директива определяет порядок регистрации переменных get, post, cookie. Environment и серверных переменных (соответственно g, р, с, е и s). Регистрация осуществляется путем чтения этой строки слева направо. По умолчанию в РНР 5 директиве присвоено значение gpcs.

Если установить директиве variables_order значение GP, то регистрация переменных будет проводиться только для переменных, передаваемых методами post и get . При этом все переменные, передаваемые через cookie, а так же серверные переменные и переменные окружения будут игнорироваться.

register_globals = Off

Данная директива отключает (off) или включает (on) возможность регистрации EGPCs -переменных как глобальных переменных. Использование глобальных переменных может создать "дыры" в защите сценария, поэтому по умолчанию эта директива отключена.

Директива register globals является одним из самых дискуссионных моментов в языке РНР. С одной стороны, ее использование действительно может породить реальные проблемы с защитой PHP-сценариев при ненадлежащем учете возможных ошибочных ситуаций, и многие разработчики справедливо отмечают, что написание скриптов без использования глобальных переменных на 90% уменьшает уязвимость скриптов к различного рода атакам. С другой стороны, на заре возникновения РНР не одна тысяча пользователей доверилась разработчикам языка (до версии РНР 4,3 эта директива была по умолчанию включена), в силу чего в настоящее время имеются миллионы функционирующих скриптов, написанных с использованием глобальных переменных. (Стоит отметить, что в обучающих целях иногда совершенно нелишне писать скрипты с использованием глобальных переменных, поскольку их замена на суперглобальные массивы сильно ухудшвет читабельность кода.)

В настоящий момент у всех хост-провайдеров эта директива включена и, по-видимому, будет оставаться включенной еще долгое время, поскольку в противном случае может нарушиться преемственность кода. Большинство примеров в этой книге написано с учетом, что указанная директива отключена.

register_long_arrays = Off

Директива, разрешающая (on) или запрещающая (off) использование для передачи переменных из форм длинных массивов вида $ http_get_vars, $http_post_vars и т. д. Если данная директива отключена, следует пользоваться новыми суперглобальными массивами вида $_ get, $_post и т. д.

Выставленное по умолчанию значение (Off) для этой директивы, является весьма спорным, поскольку реальных опасений с точки зрения защиты при включенной директиве register_long_arrays возникать не должно. Многие же разработчики предпочитают в силу привычки использовать суперглобальные массивы вида $ http_get_vars вместо $__get. Если же указанная директива выключена, естественно, такой код перестает быть рабочим.

post_max_size = 8М

Директива определяет максимальный размер данных, преданных методом

post.

magic_quotes_gpc = Off

Данная директива позволяет отключить (off) или включить (on) автоматическая обработку магических кавычек и апострофов, в данных get, post, и Cookie.

magic_quotes_runtime = Off

Директива позволяет отключить (off) или включить (on) возможность выполнения заключенных в магические кавычки команд ("something").

Пути и директории

; UNIX: "/pathl:/path2" ;include_path = ".:/php/includes"

; Windows: "\pathl;\path2" ;includs_path = ".;c:\php\includes"

Пути, в которых находятся PHP-сценарии.

doc_root; -

Директива залает корневой каталог для РНР-сценариев,

extension_diг = "./"

Директива задает каталог, в котором размещаются динамически загружаемые расширения.

enable_dl = On

Директива, разрешающая (on) или запрещающая (off) использование функции dl.

Функция dl предназначена для загрузки расширений РНР, к примеру, таких как SQLLite. Указанная функция неправильно работает в многопоточных Web-серверах (IIS, Zeus) и для них автоматически отключается.

file_uploads = On

Директива, разрешающая (on) или запрещающая (off) загрузку файлов на сервер.

upload_max_filesize = 2М

Директива, задающая максимальный размер загруженных файлов.

Работа с сокетами

allow uilfcpen = On

Директива, разрешающая (on) или запрещающая (off) использование URL (http://, ftp://) как файлов.

Указанная директива обязательно должна быть включена при работе с сокетами.

user_agent="PHP"

Директива, задающая значение переменной user_agent , предоставляемой сервером при подключении с использованием сокета.

default_socket_timeout = 60

Директива, задающая максимальное время прослушивания сокета, в секундах.

Динамические расширения

Для автоматической загрузки динамических расширений директиву extens ion необходимо задать следующим образом:

e>:tension=modulename.extension К примеру, для Windows можно написать так:

extension=msql.dll

А для UNIX так:

extension=msql.so

Здесь задается только имя, без указания пути. Если необходимо указать путь, следует использовать вышеописанную директиву extension dir.

Установки для модулей Модуль Syslog

define_sysiog_variables = Off

Директива, определяющая, следует (on) ил» нет (off) использовать различные переменные демона syslog, такие как $ log fid, $log_cron и т. д. Для ускорения работы данную директиву рекомендуется отключать, а при необходимости использовать функцию defirie_syslog_variables.

Модуль mail function

SMTP = localhost

Эта директива предназначена только для использования в среде Windows и задает используемый SMTP-сервер.

sendmail_from = admin@iocalhost

Эта директива предназначена только для использования в среде Windows и задает поле From по умолчанию.

sendmail__path = \usr\sbin\sendmail -t -i

Данная директива используется только в среде UNIX и задает путь и аргументы демона sendmail.

Модуль Debugger

debugger.enabled = On debugger.profiler_enabled = On

Директивы, отвечающие за включение (on) или отключение (off) отладчика и профилировщика.

Модуль Java

java.class.path = .\php_java.jar java.home = c:\jdk

java. library = с: \jdk\jre\bir.\hotspot\jта,dll java.library.path = .\

Пути и каталоги для Java.

uodbc.allowj>ersistent = On

Директива разрешает (on) или запрещает (off) постоянные ODBC-соединений.

uodbc.check_persistent - On

Директива включает (on) или отключает (off) проверку доступности ODBC-соединения перед его использованием.

uodbc,max_persistent = -1

Директива, определяющая максимальное число постоянных ODBC-соеди-нений. Значение -1 означает, что ограничений нет.

uodbc. ixiax_l inks = -1

Директива, определяющая максимальное число как постоянных, так и непостоянных ODBC-соединений. Значение -1 означает, что ограничений нет.

uodbc.defaultlri = 4096 Длина для long -полей. uodbc.defaultbinmode = 1

Директива, устанавливающая параметры для работы с бинарными данными. Значение о означает режим passthru, 1 - режим as is, 2 - режим преобразования в символы.

Модуль MySQL

mysql.allow_persistent = On

Директива разрешает (on) или запрещает (off) постоянные MySQL-соединений.

mysql,max_persistent - -1

Директива, определяющая максимальное число постоянных MySQL-соединений. Значение -i означает, что ограничений нет.

rr.ysql.max links = -1

Директива, определяющая максимальное число как постоянных, так и непостоянных MySQL-соединений. Значение -1 означает, что ограничений нет.

mysql.default_port =

Директива, определяющая порт, заданный по умолчанию для функции

mysql_connect. При незаданном значении функция mysql..connect использует переменную $ mysql_tcp_pqrt или запись mysqi -tcp в каталоге /etc/services, а затем заданную во время компиляции константу mysql_port (именно в таком порядке).

При работе в среде Windows используется только константа mysql port. mysql.default_socket =

Директива, определяющая имя сокета для локальных соединений MySQL. При незаданном значении используется значение по умолчанию.

mysql.default_host =

Директива, задающая имя хоста по умолчанию для функции

mysql_connect(). mysql.default_user =

Директива задающая имя пользователя базы данных по умолчанию. Это значение используется при установлении соединения с сервером базы данных, если имя пользователя не передано в качестве аргумента функции

mysql_connect(). mysql.default_password =

Директива, задающая пароль пользователя базы данных по умолчанию. Это значение используется при установлении соединения с сервером базы данных, если имя пользователя не передано в качестве аргумента функции

Хранить пароль в файле настроек РНР вряд ли стоит, поскольку любой пользователь, имеющий права на запуск РНР, может узнать пароль путем выполнения сценария echo cfg_get_var("mysql .def ault_passwcrd").

В безопасном режиме три последние директивы не работают.

Модуль bcmath

bcmath.scale = О

Директива, определяющая число десятичных цифр для всех bcmath -функций (математические функции произвольной точности).

Модуль Session

session. save_handler = files

Директива, определяющая, каким образом хранить данные сессий (по умолчанию - в файлах).

session. s«*>s_path - ftinp

Если в предыдущей директиве указан режим хранения данных в файлах, то в этой директиве указывается каталог, в который помещаются файлы сессий.

session.use__cookies = 1

Директива, определяющая, можно ли использовать Cookies (по умолчанию использование Cookies разрешено).

session.name = PHPSESSTD

Директива, задающая имя сессии по умолчанию.

session.auto_scart = О

Директива, разрешающая или запрещающая иници&тизацию сессии при старте (по умолчанию отключена).

session.cockie_lifetime = О

Определяет время жизни Cookie по умолчанию. Если директива принимает значение 0, то срок жизни Cookie длится до закрытия браузера.

session.cookie_path = /

Директива, задающая путь, по которому сохраняются идентификаторы Cookie.

session. cookie_dornain -

Определяет домен для Cookie (параметр по умолчанию для функции

setcookie).

session.seriaiise_handler = php

Функция, используемая для сериализаиии данных. Значение php задает стандартную функцию.

session.gc_prpbability ~ i

Директива, определяющая вероятность того, что при очередном запуске сценария, работающего с сессиями, будет вызвана функция "сборки мусора" для очистки сессий, уже не применяемых пользователем.

session.cache_limiter = nocache

Директива, уста на a r i и ва ю шая одно из значений кэширования HTTP. Может принимать следующие значения: nocache, private, public.

Более подробно значение этих директив рассмотрено в главе 3.

session.cache_expire = ISO

Директива, задающая количество минут, по истечении которого документ будет считаться устаревшим. По истечении данного времени документ не может использоваться при кэшировании, и требуется его повторная загрузка из источника.

session.use_trans sid = 1

Директива, определяющая, нужно ли использовать поддержку так называемых переходящих SID (идентификаторов сессии). Иначе говоря, необходимо ли поддерживать сессии, если пользователь отключил Cookies в браузере.

Указанная директива работает только а том случае, если РНР был скомпилирован с включенной опцией --enable-trans-sid.

session.hash_?unction = О

Директива, определяющая выбор хеш-функций для сессий. Значение 0 соответствует функции md5, значение I - функции sha-i.

Модуль Assertion

assert.active = On

Директива, определяющая, работает ли функция проверки assert о, выясняющая, не являются ли некоторые утверждения ложными.

assert.warning = On

Директива, определяющая, нужно ли генерировать предупреждения для каждой неудавшейся проверки выражений функцией assert о. assert.bail = Off

Директива, определяющая, следует ли завершать программу (on) или нет (off) в случае неудачного выполнения функции assert (). assert.callback = О

Директива, определяющая пользовательскую функцию, которая будет вызвана при неудавшейся проверке функцией assert о. По умолчанию - значение равно нулю, т. е. пользовательские функции не применяются.

Модуль Verisign Payflow Pro (параметры прокси-сервера)

pfpro.defaulthost = "test.signio.com"

Директива, задающая URL-адрес прокси-сервера.

pfpro.defaultport = 443

Директива задает порт по умолчанию для прокси-сервера.

pfpro.defaulttimeout = 30

Директива задает тайм-аут для прокси-сервера.

pfpro.proxyaddress =

IP-адрес прокси-сервера по умолчанию.

pfpro.proxyport =

Порт прокси-сервера по умолчанию.

pfpro.proxylogon =

Логин для прокси-сервера.

pfpro.proxypassword n

Пароль для прокси-сервера. Модуль Sockets

sockets.use_system_read - On

Директива, разрешающая использование функции read при работе с сокетами.

Новые встроенные медиа плееры WordPress делают систему мощной платформой для потокового видео и аудио. Однако вы, вероятно, уже заметили, что WordPress имеет ограничения по максимальному размеру файлов, которые могут загружаться:

Если вы захотите узнать, каков лимит для вашего сайта, вы можете зайти в раздел «Медиафайлы » — «Добавить новый ». Ниже в поле загрузки вы увидите надпись «Максимальный размер загружаемого файла » с числом рядом с ней в мегабайтах. Это число показывает, насколько большие файлы вы можете загрузить на свой сайт.

По умолчанию ограничение на размер загружаемых файлов установлено в пределах от 2 Мб до 128 Мб. Если в данный момент у вас установлен минимально возможный предел, то вы можете повысить его и получить возможность загружать большие медиа файлы.

К сожалению, для увеличения этого лимита недостаточно просто изменить это значение по умолчанию. То, насколько большие файлы вы сможете загружать на сайт, также зависит от настроек вашего сервера.

В конце концов, вам, возможно, придется поменять несколько вещей, прежде чем все заработает, как вам нужно. В этой статье мы шаг за шагом разберем все настройки, которые вам придется произвести, чтобы получить работающее решение.

Для большинства действий, которые потребуются, вам будет нужен доступ к сайту по FTP .

Настройка инфо файла PHP

Прежде чем начать пробовать различные решения, следует получить некоторые сведения о том, как настроен на вашем сайте PHP . К счастью PHP имеет простую функцию, которая поможет сделать это. Создайте в любом текстовом редакторе новый файл и добавьте в него следующую строку кода:

Назовите файл «info.php » и сохраните его. После этого перейдите по FTP в корневую папку вашего сервера, в которой установлен WordPress , и перетащите в нее файл info.php . Затем, перейдите по адресу «http://yoursite.com/info.php «, где «yoursite.com » заменяется фактическим URL -адресом вашего сайта. В результате вы получите полный список элементов конфигурации PHP :


Особое внимание обратите на версию PHP

Здесь очень много информации, но большую ее часть вы можете игнорировать. Самая важная часть этого файла — какая версия PHP у вас в данный момент работает. Это будет указано в верхней части печатными буквами, например “PHP Version 5.4.16 «.

Самое важное — это первые числа номера версии. Это может быть либо PHP 4 , либо PHP 5 . Некоторые советы, изложенные здесь, потребуют, чтобы вы знали, какая версия у вас установлена, так что примите это к сведению.

Есть еще три настройки в инфо файле PHP , которые имеют отношение к теме нашей статьи. Вам нужно просмотреть данный файл, чтобы выяснить, какие значения для них на данный момент установлены.

memory_limit — определяет, сколько памяти выделяется на PHP . Вы просто должны убедиться, что это число равно или превышает лимит загрузки, который вы хотите установить.

post_max_size — определяет максимальный размер, который обрабатывается в запросе POST . Для этой настройки нам нужно будет установить значение нашего нового лимита загрузки.

upload_max_filesize — определяет максимально возможный размер загружаемого файла. Для этой настройки нам также нужно будет установить значение нашего нового лимита загрузки.

Теперь, когда у нас есть немного информации о конфигурации PHP , мы можем попробовать несколько различных методов увеличения лимита на размер загружаемых файлов.

Редактирование php.ini

Если вы зададите на поиск через Google способы повышения лимита загрузки в WordPress , вы, вероятно, получите разнообразные варианты решений.

Большинство из них — это обходные пути, но самый лучший способ увеличить лимит размера загружаемых файлов — это внести изменения в файл php.ini вашего сервера. php.ini файл содержит все элементы конфигурации РНР , и через него вы можете изменить значения, которые вы видели на странице информации о конфигурации PHP .

Примечание: Перед тем, как начать вносить изменения в конфигурацию сервера, вы должны сделать резервную копию вашего сайта и базы данных. Если вам удалось найти файл php.ini, вам также нужно отдельно создать резервную копию этого файла.

В зависимости от настроек вашего хостинга, вы можете получить возможность редактировать файл php.ini непосредственно. Чтобы найти этот файл, зайдите по FTP на свой сайт, и перейдите в папку, где установлен WordPress . Как правило, это папка “html ” или “www ”. Отсюда по FTP вам нужно перейти в верхнюю корневую папку. Это, как правило, папка на один или два уровня выше, чем та, где установлен WordPress.

Из корневой директории вашего сервера вы начинаете поиск папки, где размещен файл php.ini . Как правило, это папка “conf ” или “etc ”. Поищите файл «php.ini » в этих папках. Если найти его не удалось, обратитесь к справочным материалам вашего хостинга. Перетащите этот файл в какое-нибудь место на локальном жестком диске и откройте его в любом текстовом редакторе.

Нам нужно будет изменить в этом файле несколько значений, так что вам нужно будет производить поиск по файлу. Для демонстрации я хочу увеличить свой лимит загрузки до 64 МБ. Вы можете установить его выше, однако не рекомендуется устанавливать новое значение больше, чем 128 Мб:


Фрагмент содержимого из файла php.ini

Во-первых, найдите значение параметра «memory_limit » и измените его на 64M (если оно уже не установлено на 64M или больше ). Далее, найдите параметр «post_max_size » и измените его значение на 64M. Наконец, найдите «upload_max_filesize » и снова измените его значение на 64M. Важно при определении лимита использовать обозначение «M», а не обычно используемое MB.

Вы также можете найти переменную «max_execution_time » и установить для нее значение что-то вроде 300. Это гарантирует, что ваш сайт не даст сбой при загрузке больших файлов.

В конечном итоге ваши значения будут выглядеть следующим образом:

memory_limit = 64M upload_max_filesize = 64M post_max_size = 64M max_execution_time = 300

Только эти значения будут разбросаны по всему файлу. Когда вы закончите, сохраните файл и перетащите его обратно в папку, где находится ваш файл php.ini и перезапишите существующий файл. Пока эти изменения вступят в силу, может пройти некоторое время. Если вы используете выделенный сервер и имеете соответствующие права, попробуйте перезагрузить сервер.

Если вы не знаете точно, как перезагрузить сервер, проконсультируйтесь со службой поддержки вашего хостинг-провайдера. В противном случае, убедитесь, что кэш вашего браузера и сайта очищен. И будем надеяться, что, когда вы снова перейдете в раздел Медиафайлы — Добавить новый , вы увидите, что там уже прописан новый максимальный размер загружаемого файла. Значит наша цель достигнута.

Загрузка собственного файла php.ini

Если вы не можете найти файл php.ini или не имеете к нему доступа, вы сможете загрузить свой файл, чтобы переопределить параметры по умолчанию. Чтобы сделать это, создайте новый файл и откройте его в текстовом редакторе. Затем вставьте в него следующий код:

memory_limit = 64M upload_max_filesize = 64M post_max_size = 64M file_uploads = On max_execution_time = 300

Опять-таки, я устанавливаю лимит загрузки 64MB, но вы можете установить значение, которое нужно вам.

Помните, выше я упоминал о необходимости знать версию PHP ? Если вы работаете на PHP версии 4, то сохраняйте это файл, как «php.ini «. Если на PHP версии 5, сохраняйте его, как «php5.ini «. Если случится, что вы работаете на версии 5, но приведенное выше имя файла не работает, вы можете переименовать файл в «php.ini » и загрузить его снова:


Файл php.ini в FTP-клиенте Cyberduck

После этого снова перейдите по FTP на ваш сайт и найдите корневую папку, где размещаются файлы WordPress . Перетащите файл в эту папку.

Опять же, если у вас есть возможность перезагрузить сервер вы должны это сделать, а затем очистите кэш браузера и сайта. Чтобы удостовериться, действительно ли работает этот метод, перейдите в раздел Медиафайлы -> Добавить новый , и, если максимально возможный размер файла увеличился, значит все в порядке.

Использование файла.user.ini

Если приведенный выше метод не сработал, вы можете использовать другой вариант. Он будет работать, только если вы используете PHP версии 5. В противном случае, вы можете пропустить этот раздел.

Создайте новый файл и на этот раз назовите его «.user.ini «. В этот файл вставьте следующий код:

upload_max_filesize = 64M post_max_size = 64M memory_limit = 64M max_execution_time = 300

Вы можете изменить значение 64M на то, что вам нужно. Сохраните этот файл, а затем перетащите его в папку, где у вас установлен WordPress . Если у вас есть возможность перезагрузить сервер, сделайте это. Изменения могут вступить в силу через некоторое время. Подождите немного, после чего перейдите в раздел Медиафайлы -> Добавить новый .

Возможно, вам подойдет решение с помощью.htaccess

Если вы перепробовали все методы, связанные с php.ini , и ни одно из них вам не подошло, возможно, решение проблемы заключается в использовании файла .htaccess . В общем, .htaccess используется для настройки сервера Apache . Тем не менее, этот файл также может быть использован для изменения значений PHP , если ваша версия PHP установлена, как модуль Apache .

Перед тем, как редактировать файл .htaccess , убедитесь, что у вас есть резервная копия его текущей версии. Изменения в этом файле могут привести к внутренним ошибкам сервера или вы вообще увидите пустой экран. Данные ошибки легко исправить — достаточно всего лишь перезагрузить файл .htaccess .

Чтобы получить доступ к этому файлу, перейдите в корневую папку WordPress . Убедитесь, что в вашем FTP -клиенте включена возможность просмотра скрытых файлов, после чего откройте файл «.htaccess «. В нижней части файла вставьте следующий код:

php_value upload_max_filesize 64M php_value post_max_size 64M php_value max_execution_time 300 php_value max_input_time 300

Затем сохраните изменения на сервере. Перейдите на свой сайт и проверьте, не возникли ли какие-либо ошибки с отображением контента. После этого вы можете перейти в раздел панели администрирования Медиафайлы -> Добавить новый , чтобы посмотреть, вступили ли в силу изменения лимита загрузки.

Если вы столкнулись с какими-нибудь проблемами с отображением сайта, загрузите файл резервной копии .htaccess , который вы сохранили ранее на диске.

Конфигурационный файл WordPress

Если ничего из этого не помогло, есть еще одна возможность, которую Вы можете использовать. Для этого потребуется напрямую редактировать файлы WordPress .

Первым делом зайдите через FTP на сервер и перетащите файл «WP-config.php «, расположенный в корневой папке, на свой компьютер, чтобы вы могли его редактировать. Откройте файл и внизу добавьте следующую строку:

define("WP_MEMORY_LIMIT", "64M");

Затем загрузите этот файл обратно на сервер.

Перейдите в папку активной темы и перетащите на компьютер файл «functions.php «, чтобы его можно было редактировать. Откройте файл и в самом верху добавьте:

@ini_set("upload_max_size" , "64M"); @ini_set("post_max_size", "64M"); @ini_set("max_execution_time", "300");

Это делает возможным редактирование файла php.ini вашего сервера во время выполнения. Исторически так сложилось, что это наиболее эффективное решение. Очистите кэш браузера и сайта, и перейдите в раздел Медиафайлы -> Добавить новый , чтобы посмотреть, вступил ли в силу новый лимит.

Обращение за помощью к поддержке хостинг-провайдера

Если ни один из вышеперечисленных способов не сработал, вы можете обратиться к службе поддержки вашего хостинг — провайдера. Скажите, что вы хотите увеличить значения «memory_limit «, «upload_max_size » и «post_max_size » в файле php.ini .

Большинство хостеров сделают это для вас без проблем. Если они не позволяют вам этого сделать, либо же вообще не отвечают, возможно, пришло время поискать новый хостинг.

Увеличение лимита загрузки на MAMP

Бывает, вы разрабатываете свой сайт локально и хотите увеличить свой лимит на локальном сервере. Если вы работаете на Mac , вы можете использовать MAMP , локальный сервер, который дает доступ к Apache, MySQL и PHP . Другими словами, всему, что нужно для запуска WordPress .


Прямая ссылка: php-5.3.10-Win32-VC9-x86.zip
Заодно скачайте сразу и документацию на русском языке в формате.chm, она вам понадобится при изучении и работе: php_enhanced_ru.chm

Распакуйте архив в желаемый каталог (изначально предлагается "C:\php"). Откройте конфигурационный файл содержащий рекомендуемые настройки - "php.ini-development" (находящийся в корне дистрибутива), переименуйте его в php.ini и произведите следующие изменения.

Редакция php.ini:

  1. Найдите строку:
    post_max_size = 8M
    Увеличьте до 16 Мбайт максимальный размер данных принимаемых методом POST, изменив ее на:
    post_max_size = 16M
  2. Найдите строку:
    ;include_path = ".;c:\php\includes"
    Раскомментируйте ее, убрав перед строкой символ точки с запятой.
    (Внимание исключение! Обратные косые черты при указании пути):
    include_path = ".;c:\php\includes"
    Создайте пустой каталог "C:\php\includes", для хранения подключаемых классов.
  3. Найдите строку:
    extension_dir = "./"
    Установите значением данной директивы путь к папке с расширениями:
    extension_dir = "C:/php/ext"
  4. Найдите строку:
    ;upload_tmp_dir =
    Раскомментируйте ее и укажите в значении следующий путь:
    upload_tmp_dir = "C:/php/upload"
    Создайте пустую папку "C:\php\upload", для хранения временных файлов загружаемых через HTTP.
  5. Найдите строку:
    upload_max_filesize = 2M
    Увеличьте максимально допустимый размер загружаемых файлов до 16 Мбайт:
    upload_max_filesize = 16M
  6. Подключите, расскомментировав, данные библиотеки расширений:
    extension=php_bz2.dll
    extension=php_curl.dll
    extension=php_gd2.dll
    extension=php_mbstring.dll
    extension=php_mysql.dll
    extension=php_mysqli.dll
  7. Найдите строку:
    ;date.timezone =
    Раскомментируйте и установите значением часовой пояс вашего местоположения (список часовых поясов можно найти в документации):
    date.timezone = "Europe/Moscow"
  8. Найдите строку:
    ;session.save_path = "/tmp"
    Раскомментируйте и установите значением данной директивы такой путь:
    session.save_path = "C:/php/tmp"
    Создайте пустую папку "C:\php\tmp" для хранения временных файлов сессий.
Сохраните изменения и закройте файл php.ini.

Далее необходимо добавить каталог с установленным PHP интерпретатором в PATH операционной системы. Для чего пройдите по пути "Start" ("Пуск") -> "Control Panel" ("Панель управления") -> "System" ("Система"), откройте вкладку "Advanced" ("Дополнительно"), нажмите кнопку "Environment Variables" ("Переменные среды"), в разделе "System Variables" ("Системные переменные") сделайте двойной щелчок на строке "Path", добавьте в поле "Variable Value" ("Значение переменной"), к тому что там уже существует, путь к каталогу с установленным PHP, например, "C:\php" (без кавычек). Обратите внимание на то что символ точки с запятой разделяет пути. Чтобы внесенные изменения вступили в силу, перезагрузите операционную систему.

Пример строки Path:
%SystemRoot%\system32;%SystemRoot%;%SystemRoot%\System32\Wbem;C:\php;C:\Program Files\MySQL\MySQL Server 5.5\bin

Установка и настройка PHP интерпретатора – завершена.

Описание подключаемых библиотек:

php_bz2.dll – С помощью данного расширения PHP сможет создавать и распаковывать архивы в формате bzip2.

php_curl.dll – Очень важная и нужная библиотека, позволяющая соединяться и работать с серверами, с помощью огромного количества интернет-протоколов.

php_gd2.dll – Ещё одна незаменимая библиотека, позволяющая работать с графикой. Вы думали на PHP можно только HTML странички генерировать? А вот и нет! С помощью PHP можно почти всё, в том числе и рисовать.

php_mbstring.dll – Библиотека содержит функции для работы с много-байтными кодировками, к которым относятся кодировки восточных языков (японский, китайский, корейский), Юникод (UTF-8) и другие.

php_mysql.dll – Имя библиотеки говорит само за себя - она необходима для работы с сервером MySQL.

php_mysqli.dll – Данная библиотека является расширением предыдущей и содержит дополнительные функции PHP для работы с сервером MySQL версии 4.1.3 и выше.

Данных библиотек должно хватить для полноценной работы PHP. Со временем, если появится такая необходимость, вы сможете подключить дополнительные библиотеки, но не стоит подключать их все сразу с мыслью, что кашу маслом не испортишь, в данном случае излишнее количество подключенных библиотек может заметно замедлить работу PHP.

«



Top