Сообщения

Показаны сообщения с ярлыком "php"

Ошибка: конфигурации PHP отсутствует расширение MySQL Wordpress

При установке Wordpress столкнулся с такой ошибкой на белом экране: Похоже, в вашей конфигурации PHP отсутствует расширение MySQL Решается просто установкой плагина: apt-get install php5-mysql  

Select multiple и php

Столкнулся с проблемой получения выделенных нескольких значений в теге select. Решается очень просто В теге имя меняем на такое(ставим пустые квадратные скобки после имени)   <select name="select2[]" ... А в обрабатываемом скрипте обрабатываем так   foreach ( $_GET [ 'select2' ] as $selectedOption ) { echo $selectedOption . "\n" ; }

Ошибка 413: Request Entity Too Large

Ошибка возникает если вы пытаетесь загрузить на сервер файл php скриптом. Это ограничение в версии Apache 2.2 устанавливается в файле apache2.conf параметром secrequestbodylimit значение устанавливается в байтах. Установите максимальный размер для аплоада.

Ошибка: failed with exit status 255

Эта ошибка возникает из за указания относительного пути в исполняемом файле php скрипта при запуске его по cron. То есть внутри указан путь в виде "../config/func.conf.php", а для исполнения нужно указать полный путь /var/www/site/config/func.conf.php . Также если вдруг не происходит исполнения скрипта, то нужно проверить указан ли полный путь к интерпретатору php и выставленны ли правильные права на скрипт.

phpbb3 Настройка отправки сообщений с форума через службы Яндекс. Решение ssmtp на Debian

При установке на свой сайт форума phpbb3 столкнулся с проблемой. Все письма которые отсылались с форума например для подтверждения регистрации или отправки сообщений на почту через профиль пользователя резались в спам. При просмотре оригинала письма, т.е. с полным просмотром заголовков увидел, что в качестве отправителя указан www-data@moivps, то есть фактически отправитель не совпадал с полем отправитель в письме. При написании собственных скриптов эта проблема обходилась без проблем, но так как мои познания в структуре кода phpbb3 минимальный полез в гугл решать вопрос более простым путем. После недолгого поиска нашел решение данной проблемы, но вариант этот подходит только для небольшого числа хостов и пользователей. Решение состоит в установке и замене стандартного MTA exim на ssmtp. Преимущество в том, что не нужно нагружать сервер лишними программами и по своему принципу ssmtp подгружается только в случае его вызова. Т.е. он будет загружаться только при использовании фун...

Волновой алгоритм поиска пути на PHP

Изображение
На учебе по методам оптимизации дали список тем для курсача, я выбрал волновой алгоритм поиска пути. Собственно сам код с комментариям: <?php $map[50][50]; echo "<h2>Start</h2>"; echo "<table>"; for($u1=1; $u1<=50; $u1++) {     echo "<tr>";     for($u2=1; $u2<=50; $u2++)     {     $val = round(rand(0,10));     if($val<2)     {     $map[$u1][$u2] = 1;     echo "<td style=\"width:10px; height: 10px; background-color: #0f0\"></td>";     }     else     {     $map[$u1][$u2] = 0;     echo "<td style=\"width:10px; height: 10px; background-color: #f00\"></td>";     }     }     echo "</tr>"; } echo "<table>"; function SearchWay($x, $y, $x_to, $y_to, $map) {     $size =5...

Удаление каталогов и всех вложенных в него файлов php старше 30 минут

На своих сайтах я использую защиту от копирования контента на основе сессий и в результате на сервере скапливается большое количество каталогов с файлами с номерами сессий. Естественно их приходиться удалять в ручную. Чтобы избавиться от этой рутинной работы я решил автоматизировать процесс с помощью PHP скрипта. Следующая функция занимается удалением файлов и всех каталогов в указанной директории. <?php function removeDirectory($dir) { if ($objs = glob($dir."/*")) { foreach($objs as $obj) { is_dir($obj) ? removeDirectory($obj) : unlink($obj); } } rmdir($dir); } ?> Функция нужна для того чтобы удалять как папки так и вложенные файлы, так как rmdir умеет удалять только пустые каталоги. Далее нам необходимо определить все каталоги которые содержаться в указанной директории и после проверки на текущую и каталог уровня выше текущего ("." и ".."), что бы ненароком не затереть и весь свой сайт выполняем функцию которая описана выше. ...

Копирование файлов без расширения php

При обработке своей базы данных столкнулся с багом в php. Функция copy не копировала файлы которые не имеют расширения. После долгих экспериментов получилось решить проблему только одним способом. Для начала попробовал использовать функцию rename, для начала переименование файла без расширения в файл с расширением, а затем копирование. Результат оказался таким же. Спасла функция exec(). Я использовал внутреннюю команду ОС Linux переименования mv . Синтаксис команды следующий: mv file1 file2<cr> То есть в результате получилась такая строка в php скрипте exec("mv ".$filename1."".$filename2.".".$filetype); Можно было бы замерить скорость если бы функция copy не глючила. И с вероятностью процентов 70 скорость этого решения была бы быстрее, чем команда copy, но проверить не представляется возможным.

Запуск php скрипта через Cron

В некоторых случаях необходимо запускать скрипты php скрипты по расписанию для обновления блога например или например парсинга курсов валют(Подобный скрипт работает на моем проекте inettools.net для парсинга значений ЦБ РФ) Итак рассмотрим несколько вариантов задания параметров для crontab Запуск скрипта test.php с аккаунта test с отправкой выходных и сообщений об ошибках на указанный в Cron Manager почтовый ящик: /usr/local/bin/php /home/test/public_html/test.php В письме результат выполнения скрипта не выводиться. На почту отсылается только вывод об ошибках: /usr/local/bin/php /home/test/public_html/test.php > /dev/null   На заглушку отправляется результат работы скрипта и ошибки. На почту ничего не отправляется: /usr/local/bin/php /home/test/public_html/test.php > /dev/null 2> /dev/null Очень желательно указывать полный путь к интерпретатору ну и соответственно к скрипту. Отсылка на почту результатов и ошибок очень удобна, для отслеживания состоян...