PHP.SU

Программирование на PHP, MySQL и другие веб-технологии
PHP.SU Портал     На главную страницу форума Главная     Помощь Помощь     Поиск Поиск     Поиск Яндекс Поиск Яндекс     Вакансии  Пользователи Пользователи

Страниц (2): [1] 2 »

> Найдено сообщений: 20
NeoN121 Отправлено: 13 Мая, 2013 - 13:00:58 • Тема: Ограничение max_execution_time внутри скрипта • Форум: Если скрипт не работает

Ответов: 1
Просмотров: 1808
Коротко. Есть код:


Выставляем ограничение на исполнение в 2 секунды (и значение max_execution_time в phpinfo() действительно меняется на требуемое), выводим '1', ждем 5 секунд, выводим '2'. safe_mode отключен

Если я правильно понимаю, то должно вывестись '1', а потом fatal error по поводу превышения времени работы скрипта. Этого не происходит, скрипт выполняется 5 секунд, и выводит '12'. Может кто-то пояснить, почему?
Да, в php.ini выставлено значение 0
NeoN121 Отправлено: 06 Октября, 2012 - 17:04:43 • Тема: Создание почтовых ящиков через PHP • Форум: Вопросы новичков

Ответов: 7
Просмотров: 381
Ага. То есть, мне нужно просто создавать пользователя, и ящик создастся сам собой?
NeoN121 Отправлено: 24 Сентября, 2012 - 16:03:56 • Тема: Создание почтовых ящиков через PHP • Форум: Вопросы новичков

Ответов: 7
Просмотров: 381
Совсем никаких вариантов? Ну хотя бы может кто-нибудь знает, какой командой можно на своем же сервере создать ящичек для заданного пользователя?
NeoN121 Отправлено: 13 Сентября, 2012 - 20:08:10 • Тема: Создание почтовых ящиков через PHP • Форум: Вопросы новичков

Ответов: 7
Просмотров: 381
Есть VPS с Debian. Задача - написать PHP-скрипт, который бы создавал почтовые ящики с заданными в скрипте логинами и паролями на этом же сервере. Как?
NeoN121 Отправлено: 18 Августа, 2012 - 12:43:17 • Тема: Работа с командной строкой • Форум: Если скрипт не работает

Ответов: 1
Просмотров: 1618
Проблема была в том, что данная операция блокировалась провайдером на виртуальных хостингах. Я переехал на VPS, и все заработало
NeoN121 Отправлено: 17 Августа, 2012 - 14:19:15 • Тема: Работа с командной строкой • Форум: Если скрипт не работает

Ответов: 1
Просмотров: 1618
Значит, задача: запустить из одного скрипта PHP через командную строку другой PHP скрипт

Суть скрипта следующая. Есть файл index.php, его я стартую обращением через браузер. Файл index.php должен запустить файл client.php. Поскольку в будущем предполагается запускать этот client.php несколько раз параллельно и, кроме того, требуется, чтобы выполнение index.php продолжалось, а не ожидало, пока исполнится client.php, я пытаюсь запускать client.php через командную строку функцией popen()

index.php:
PHP:
скопировать код в буфер обмена
  1.  
  2. echo 'This is index';
  3. $handle = popen('/usr/local/apache/bin/php-cgi.5 -q -f /home/username/public_html/client.php', 'r');
  4. if (is_resource ($handle)) while (!feof($handle)) echo fread($handle, 1024);
  5.  


client.php


Вывод по идее должен быть примерно таким:
CODE (htmlphp):
скопировать код в буфер обмена
  1.  
  2. This is indexThis is client
  3.  


Однако вместо этого имею много раз повторяющееся This is index - то есть, судя по всему, popen() запускает не client.php, а перезапускает index.php. В результате имеем рекурсивный запуск index.php, который заканчивается, когда я исчерпываю разрешенное количество одновременно запущенных скриптов

Собственно, вопрос. Что я делаю не так?

Еще пообщался с провайдером, его ответ таков, что реально исполняется вот такая команда:
sh -c /usr/local/apache/bin/php-cgi.5 -q -f файл.php
То есть, судя по всему, по каким-то причинам sh не всю часть того, что написано после php-cgi.5, воспринимает как аргументы именно для php-cgi.5, и интерпретирует их как аргументы для самого sh. Получается, нужно какое-то экранирование? Но какое? Кавычки (одинарные и 2ые) пробовал, команда просто не исполняется

Кстати добавлю к этому то, что ключ -q тоже игнорируется: заголовки в ответе присутствовать не должны с этим ключем, но они присутствуют
NeoN121 Отправлено: 18 Января, 2012 - 18:02:39 • Тема: Странное поведение при создании массива • Форум: Вопросы новичков

Ответов: 1
Просмотров: 111
На одном из хостингов заметил странное (для меня) поведение скрипта при реализации примерно вот такого кода:

PHP:
скопировать код в буфер обмена
  1.  
  2. foreach ($codesStrs as $codeStr) {
  3.     $codeStr = explode('=',$codeStr);
  4.     $codes[$codeStr[0]] = $codeStr[1];
  5. }
  6.  


Суть проста, в массиве $codesStrs содержатся строки вида 1234=543, и данный код аккуратно расскидывает их в массив $codes, ставя первое число из пары как ключ, а авторое как значение
Это работало на всех хостингах, но на одном я встретился с такой странной штукой. Внезапно оказалось, что вот в этой записи $codes[$codeStr[0]] PHP работает с $codes не как с массивом, а как со строкой. Тоесть, инициализирует $codes как строку и записывает в позицию номер $codeStr[0] значение из $codeStr[1]
Собственно, проблему с этим я решил, просто предварительно явно объявив $codes как массив, но суть не в этом. Мне просто крайне любопытно, каким образом PHP мог быть настроен для такого поведения?
NeoN121 Отправлено: 04 Декабря, 2011 - 22:47:31 • Тема: Разработка под мобильные устройства • Форум: Программное обеспечение

Ответов: 5
Просмотров: 2758
samulet пишет:
Сделай проще - найди себе тестера.

Пока что это выходит самый логичный вариант. Окей, учту, спасибо

caballero пишет:
это тач должен обеспечивать работу с элементами UI а не наоборот

Проблема в том, что это я должен обеспечивать их функциональность, т.к. именно за это мне платит заказчик. От нескольких заказов пришлось отказаться именно по той причине, что требовался тот или иной функционал для мобильных устройств, и мне не удалось заставить его работать как раз в силу отсутствия доступа к дебагу
Простой пример - нужна была прокрутка изображений в в небольшом блоке посреди страницы, типа слайдера, работающая по жесту. Были опробованы разные варианты (iScroll, jQuery mobile, самописные). Варианты работали либо только в iOS, либо только в Android, либо нигде. Ни одно не работало универсально. И это мне еще позволили игнорировать WinMobile
Просто сверстать страницу под нужное разрешение, конечно же, не проблема. Проблема появляется в совершенно других областях
Встроенная обработка жестов недостаточна для множества ситуаций, нужна именно возможность написания и отладки собственных обработчиков событий
NeoN121 Отправлено: 18 Ноября, 2011 - 22:08:34 • Тема: Разработка под мобильные устройства • Форум: Программное обеспечение

Ответов: 5
Просмотров: 2758
Собственно, проблема комплексная, потому не знаю, куда ее запостить
Достаточно давно занимаюсь разработкой сайтов, и все чаще в последнее время появляются предложения о разработке мобильных версий. Взяв один такой проект, я понял: мне совершенно не на чем тестировать работоспособность. У мобильных устройств ведь тачскрин, мышью можно повторить лишь некоторые из жестов. Посмотреть же работоспособность получившегося приложения просто не на чем, у меня нет ни одного устройства с тачскрином. Покупать только ради разработки - как-то жаба душит. И это не говоря о таких особенностях, как различия между версиями андроидов, а так же между Андроидом, iOS и Windows
Собственно, вопрос. Как и на чем тестировать сайты под мобильные устройства? Наверняка же есть какие-то средства разработки, SDK и прочее. Найденные мной решения слишком сложны, чтоб выглядеть единственно верными
NeoN121 Отправлено: 25 Апреля, 2011 - 18:54:14 • Тема: Проблема с отправкой e-mail с аттачем • Форум: Работа с сетью

Ответов: 18
Просмотров: 6539
aftercloud пишет:
Так на тестовых тарифах Агавы отключено отправление почты. Там же на сайте написано.


Так у меня не тестовый. Я имел ввиду, что я его использую как тестовый. А так вообще-то он платный. Сами письма отсылались, просто они были без текста

Задача решена. Вот исходник, который заработал:

PHP:
скопировать код в буфер обмена
  1.  
  2. header("Content-type: text/html; charset=utf-8");
  3. $bound = 'spravka-1234';
  4. $emailTo = $_GET['mail'];
  5. $subject = "=?utf-8?b?".base64_encode('Заказ услуги')."?=";
  6. $headers = 'From: MySite <'.$emailTo.'>'."\r\n";
  7. $headers .= "Mime-Version: 1.0\r\n";
  8. $headers .= "Content-type: multipart/mixed; boundary=\"$bound\"\r\n";
  9.                
  10.                
  11. $text .= "\n\n--$bound\r\n";
  12. $text .= "Content-type: text/html; charset=\"utf-8\"\r\n";
  13. $text .= "Content-Transfer-Encoding: quoted-printable\r\n";
  14.                
  15. $text .= "\r\nВаш Заказ\r\n";
  16.                
  17. $file_name = 'data.csv';
  18. $file = fopen($file_name,"rb");
  19. if(!$file){echo 'файл не прочитан!';exit;}
  20. $fread = fread($file,filesize($file_name));
  21. $text .= "\r\n--$bound\n";
  22. $text .= "Content-type: application/octet-stream; name=\"=?utf-8?b?".base64_encode($file_name)."?=\"\n";
  23. $text .= "Content-Transfer-Encoding:base64\n";
  24. $text .= "Content-Disposition:attachment filename=\"$file_name\"\n\n";
  25. $text .= chunk_split(base64_encode($fread))."\n";
  26. $text .= "--$bound--\r\n";
  27.                
  28. mail($emailTo,$subject,$text,$headers);
  29.  


$text .= "\r\nВаш Заказ\r\n"; - вот тут добавил в начале \r\n, и текста стали отсылаться

И еще. Последняя строчка: $text .= "--$bound--\r\n"; - тут добавил "--" в начале. Без этой штуки эта строка воспринималась как часть файла, в результате в конце файла получались непонятные крякозябры. С исправлением же все стало работать как надо

Этот вариант вроде бы работает везде. Всем спасибо за помощь ))
NeoN121 Отправлено: 19 Апреля, 2011 - 19:32:44 • Тема: Проблема с отправкой e-mail с аттачем • Форум: Работа с сетью

Ответов: 18
Просмотров: 6539
Все окей, с Jino и других провайдеров шлется. Не шлется, по ходу, только с Агавы
Еще раз спасибо ))
(Добавление)
Garda1 пишет:
тогда действительно в настройках сервачных может порыться


Надо бы, но это уже совсем другая история. Агава все-равно лишь тестовый хостинг
NeoN121 Отправлено: 19 Апреля, 2011 - 19:23:54 • Тема: Проблема с отправкой e-mail с аттачем • Форум: Работа с сетью

Ответов: 18
Просмотров: 6539
Если юзать скрипт, что по ссылке, то все отлично работает, да
А мой не работает. Причем у разных провайдеров...
(Добавление)
А нененене, сработало на Джино
Сраная Агава, 2 дня ментального секса...

В общем, большущее спасибо за помощь, да))
NeoN121 Отправлено: 19 Апреля, 2011 - 19:17:16 • Тема: Проблема с отправкой e-mail с аттачем • Форум: Работа с сетью

Ответов: 18
Просмотров: 6539
Garda1 пишет:
может файл с другим расширением попробовать отправить?


js тока что попробовал. Файл пришел, текст - нет...
Такое впечатление, что где-то творится херота на уровне моего дорогого провайдера...
NeoN121 Отправлено: 19 Апреля, 2011 - 19:06:56 • Тема: Проблема с отправкой e-mail с аттачем • Форум: Работа с сетью

Ответов: 18
Просмотров: 6539
Garda1 пишет:
PHP:
скопировать код в буфер обмена
  1. $bound = 'spravka-1234';
  2.                 $emailTo = 'gardian90905@gmail.com';
  3.                 $subject = "=?utf-8?b?".base64_encode('Заказ услуги')."?=";
  4.                 $headers = 'From: MySite <'.$emailTo.'>'."\r\n";
  5.                 $headers .= "Mime-Version: 1.0\r\n";
  6.                 $headers .= "Content-type: multipart/mixed; boundary=\"$bound\"\r\n";
  7.                
  8.                
  9.                 $text .= "\n\n--$bound\r\n";
  10.                 $text .= "Content-type: text/html; charset=\"utf-8\"\r\n";
  11.                 $text .= "Content-Transfer-Encoding: quoted-printable\r\n";
  12.                
  13.                 $text .= "Вот и должон тут быть аттачЪ<br>\r\n";
  14.                
  15.                 $file_name = 'jquery-1.3.2.min.js';
  16.                 $file = fopen($file_name,"rb");
  17.                 if(!$file){echo 'файл не прочитан!';exit;}
  18.                 $fread = fread($file,filesize($file_name));
  19.                 $text .= "\r\n--$bound\n";
  20.                 $text .= "Content-type: application/octet-stream; name=\"=?utf-8?b?".base64_encode($file_name)."?=\"\n";
  21.                 $text .= "Content-Transfer-Encoding:base64\n";
  22.                 $text .= "Content-Disposition:attachment filename=\"$file_name\"\n\n";
  23.                 $text .= chunk_split(base64_encode($fread))."\n";
  24.                 $text .= "$bound--\r\n";
  25.                
  26.                 mail($emailTo,$subject,$text,$headers);

попробовать стоит заменить предыдущий отрывок "Именно Этим"!! С ним у меня на gmail приходит, в чём кардинальное различие не смог найти, только Mail и название файла свои подставь


Это удивительно. Но по-прежнему текст письма пуст...
NeoN121 Отправлено: 19 Апреля, 2011 - 18:47:24 • Тема: Проблема с отправкой e-mail с аттачем • Форум: Работа с сетью

Ответов: 18
Просмотров: 6539
Garda1 пишет:
Подставил этот код, проверил, у меня работает... Не понял

Ну, уже хорошо. Значит, проблема не в прокладке между монитором и стулом...

И на bk.ru вроде как тоже

Страниц (2): [1] 2 »
Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB