Как открыть файл php ini. Увеличение лимита загрузки на MAMP

27.03.2019

Я, конечно, не супер специалист во всяких делах, которые касаются настройки веб серверов, apache, php и всего прочего, поэтому так до сих пор и не завел себе отдельный сервак для проектов. Тем не менее, иногда в работе попадаются ситуации, когда приходится все же влезать в дебри и нюансы настроек – сегодня будет пост об одной из них. Предыстория достаточно тривиальная: занимался разработкой сайта на typo3 и там для работы с изображениями необходимо установить ImageMagick. Обращаюсь, значит к хостеру, они поставили, а оно почему-то все равно не работает. Потом нахожу запрещенную функцию exec, которая как раз для работы ImageMagick нужна – опять обращаюсь к хостеру. А тут еще сложная процедура общения, где я сначала пишу письмо в админке хостера, на него отвечают на почту клиенту и только потом я могу прочитать послание:)

В общем, кое-как 3 или даже 4 дня я помучался, после чего меня направлили на нужную страницу справки, где я нашел всю необходимую информацию. Как оказалось, я мог указывать для хостинга свои настройки PHP через файл php.ini, что, в принципе, было немного непривычно.

Итак, php.ini – это файл настроек и конфигурации PHP. В нем находится ряд директив, которые определяют различное поведение PHP, ну и, следовательно, сайта. Название файла должно быть именно таким, чтобы интерпретатор смог его найти. В интернете пишут, что он сначала ищет файл настроек php.ini в текущем каталоге, если его нет, то переходит в директорию, указанную в переменной окружения PHPRC, и в последнюю очередь проверят пусть, который задан при компиляции PHP. Как-то так, информация интересная, но больше теоретическая:)

Вернемся к реальным примерам. При работе с разными хостерами можно сказать у меня было несколько вариантов и нюансов настройки PHP.

1. Если в качестве админки используется cPanel, то там находим раздел «Конфигурация PHP », где опубликован перечень параметров PHP для хостинга. Иногда там можно поменять версию PHP, если сервер позволяет работать с 4 и 5 версиями.

Возможно, cPanel и предоставляет варианты изменения настроек PHP (кроме версии), но мне пока такое не попадалось. Поэтому чаще всего я прибегал ко второму варианту.

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

3. Некоторые хостеры доверяют своим клиентам настолько, что позволяют использовать свои настройки в php.ini на серверах. Как я понимаю, ряд настроек PHP устанавливается по умолчанию, но местами возникают ситуации, когда для тех или иных систем, скриптов может понадобится дополнительная функциональность – как, например, в моем случае с функцией exec или когда речь идет о wordpress можно вспомнить переменную memory_limit.

На одном из хостеров, с которым работаю, нашел инструкцию как же все-таки можно переопределить некоторые настройки php.ini под свои нужды :

В.htaccess добавляем следующие строки:

#!/bin/sh exec /usr/bin/php -c /home/support/php.ini

Здесь /home/support/php.ini путь к вашему php.ini (конечно сам файл php.ini нужно будет там создать, убедитесь в правильности пути). После этого назначаем файлу php5.fcgi права 755 (chmod 755 php5.fcgi). Теперь обработка настроек PHP будет производится с учетом вашего файла php.ini.

К этой инструкции есть 2 уточнения. При создании файла php5.fcgi нужно использовать unix переводы строк т.е. n. И если возникает 500 ошибка, проверьте лог файл ошибок, где скорее всего найдете в чем проблема.

Кстати, к этому алгоритму один из пользователей добавил комментарий – и очень полезный! Можно все организовать немного проще . Все в том же файле.htaccess добавляем путь к своему php.ini через специальную настройку:

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

P.S. Постовой. Оптимизация, раскрутка и продвижение сайта в поисковых системах Google, Yandex.
Если вам нужна качественная разработка сайта , то можете обратиться в LTD-студию.

Редактирование 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 при работе с сокетами.

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

  1. Изменить значение параметра в конфигурационном файле php.ini . После редактирования файла необходимо перезапустить веб-сервер, чтобы изменения вступили в силу. Доступ к файлу php.ini , как правило, имеет только администратор сервера. Пользователи виртуального хостинга обычно не имеют возможности редактировать этот файл и могут воспользоваться вторым способом.
  2. Переопределить значение параметра в файле .htaccess . Основные правила формирования файла .htaccess таковы:
    • если параметр может иметь только значения On или Off (либо 1 или 0 ), то в файл .htaccess следует добавить строку следующего вида: php_flag

      Например:

      Php_flag display_errors 1

      display_errors , short_open_tags , log_errors .

    • в остальных случаях строка в файле .htaccess должна иметь вид php_value ИМЯ_ПАРАМЕТРА ЗНАЧЕНИЕ_ПАРАМЕТРА

      Например:

      Php_value memory_limit 64M

      Примеры параметров, значения которых можно изменять таким образом: memory_limit , post_max_size , max_execution_time .

Внимание : переопределение параметров конфигурации PHP с помощью файла .htaccess может быть запрещено на вашем сервере. Например, такие файлы не учитываются веб-сервером IIS, а также веб-сервером Apache при использовании PHP в качестве CGI. Для изменения параметров на таких серверах необходимо либо самостоятельно редактировать файл php.ini , либо обратиться к системному администратору.
  • В каких файлах хранятся параметры подключения к базе данных?
  • Как изменить параметр в конфигурации PHP?

Сегодня поговорим о 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-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.

«