Лимит загрузки WordPress доставляет вам неудобства? Вот как это можно исправить

Сегодня поговорим о 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. Сделать это можно двумя способами:

  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?

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 это отдельная тема, потому что там есть много дополнительных настроек, и, возможно, мы рассмотрим его в одной из следующих статей. Если у вас остались вопросы, спрашивайте в комментариях!

Я, конечно, не супер специалист во всяких делах, которые касаются настройки веб серверов, 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-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