PHP.SU

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

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

> Найдено сообщений: 44
Alpinist Отправлено: 25 Октября, 2010 - 12:29:15 • Тема: Сериализация COM-соединения • Форум: Программирование на PHP

Ответов: 6
Просмотров: 440
Использование Моникеров может быть выходом?
Alpinist Отправлено: 24 Октября, 2010 - 17:57:09 • Тема: Сериализация COM-соединения • Форум: Программирование на PHP

Ответов: 6
Просмотров: 440
На удаленном сервере установлен пул соединений, который сохраняет данные последнего соединения чтобы при повторном обращении не создавать новое. Когда из PHP пытаюсь повторно соединиться с пулом через сохраненное соединение то пул либо создает новое подключение, либо объект нормально не сериализуется вообще. Уже пробывал memcache, не знаю что делать. PHP5 стоит на Server 2008.
Помогите пожалуйста, как правильно сериализовать и сохранить соединение с COM?
Alpinist Отправлено: 10 Марта, 2010 - 20:29:28 • Тема: Windows 2008 переход с Apache на IIS • Форум: Apache и другие веб-серверы

Ответов: 9
Просмотров: 924
JustUserR, не знал про Apache, до этого думал что он файл vhosts читает только при запуске.
Alpinist Отправлено: 10 Марта, 2010 - 09:14:57 • Тема: Windows 2008 переход с Apache на IIS • Форум: Apache и другие веб-серверы

Ответов: 9
Просмотров: 924
На выходных сделал переход с Apache на IIS в Windows Server 2008. Сложного нечего не было. Теперь по порядку:
1. Сделал копию php.ini
2. Сделал копию настроенных библиотек PEAR Mail_Mime.
3. Удалил Apache.
4. Удалил PHP.
5. Перегрузил комп.
6. Поднял IIS
7. Скачал последний PHP из серии 5.2.х и библиотеки PEAR
8. При установки PHP выбрал версию для IIS через Fast-CGI
9. Сравнил настройки php.ini старого и нового
10. После установки PEAR сравнил тамошние настройки
11. Перезагрузил комп
12. В админке IIS только проверил присутствие модуля Fast-CGI в загружаемых при его старте и добавил сайты.

Результат:
1. Уже при добавлении первого сайта он сразу доступен в сети. Что очень облегчило отладку всего двух проблем - одна связанная с подключенной базой Access, суть была в том что не дал прав группе пользователей IIS (на сайте майкро об этой проблеме написано, гуглите) на каталог базы, вторая в том что домен был доступен только по "www.", решилось тоже просто через пункт Bindings для этого сайта.
2. Скорость увеличилась заметно, процентов на 30 точно. Надо отметить что сервер был обновлен до последних обнолений и скорее всего шаманы из майкро нашаманили что-то стоящее.
Alpinist Отправлено: 04 Марта, 2010 - 14:01:44 • Тема: Проблема с каптчей. Постоянно вылетает ошибка • Форум: Программирование на PHP

Ответов: 10
Просмотров: 770
SAD пишет:
Протупил.

+1 я тоже Улыбка
Alpinist Отправлено: 04 Марта, 2010 - 10:12:58 • Тема: Windows 2008 переход с Apache на IIS • Форум: Apache и другие веб-серверы

Ответов: 9
Просмотров: 924
Ну дай бог чтобы так и было. Сейчас задал вопрос на форуме джумлы, посмотрю что там ответят, если что-то дельное будет тут напишу.
Alpinist Отправлено: 04 Марта, 2010 - 10:00:03 • Тема: Windows 2008 переход с Apache на IIS • Форум: Apache и другие веб-серверы

Ответов: 9
Просмотров: 924
Говорят Fast-CGI шустрее работает чем ISAPI, насчет установки не уверен, но мне кажется что первый тоже проще будет ставиться, по крайне мере при установке PHP всегда предлагается установить модуль Fast-CGI под IIS. В любом случае на выходных буду ставить и отпишу здесь подробнее процесс.

Что насчет мега CMS джумлы и ее фишек, не пострадает ли?
Alpinist Отправлено: 04 Марта, 2010 - 08:54:27 • Тема: Windows 2008 переход с Apache на IIS • Форум: Apache и другие веб-серверы

Ответов: 9
Просмотров: 924
Ребята, нужен совет. Когда-то поднимал домен на Win 2008 и сразу хотел поставить Fast-Cgi либо ISAPI модуль для php. Но что-то пошло не так как хотелось бы в итоге выручил апач. Теперь на домене висят 5 сайтов под джумлой и необходимо все таки внедрить IIS+php потому как сервисы IIS понадобились для внутрифирменной системы. Прошлый раз я встал насколько помню на том что не отображались картинки, с этим вроде уже разобрался. Нужен совет что лучше ISAPI или Fast-cgi и какие проблемы могут возникнуть у джумлы при переходе?

P.S. ModRewrite у джумлы не задействован.
Alpinist Отправлено: 04 Марта, 2010 - 08:39:50 • Тема: Проблема с каптчей. Постоянно вылетает ошибка • Форум: Программирование на PHP

Ответов: 10
Просмотров: 770
Вот тебе код капчи:
CODE (htmlphp):
скопировать код в буфер обмена
  1. <?php
  2. $session_kod='';
  3. $im=imagecreatefromjpeg("back.jpg");//файл с фоном
  4. $tc=imagecolorallocate($im, 220,220,255);//цвет кода
  5. $tp1=imagecolorallocate($im, 255,000,000);//цвет пикселей шума1
  6. $tp2=imagecolorallocate($im, 000,255,000);//цвет пикселей шума2
  7. $tp3=imagecolorallocate($im, 000,000,255);//цвет пикселей шума3
  8. for($i=1;$i<99;$i++) imagesetpixel($im, Rand(1,130), Rand(1, 24), $tp1);//шумы1
  9. for($i=1;$i<99;$i++) imagesetpixel($im, Rand(1,130), Rand(1, 24), $tp2);//шумы2
  10. for($i=1;$i<99;$i++) imagesetpixel($im, Rand(1,130), Rand(1, 24), $tp3);//шумы3
  11.  
  12. $arr_letter=array('A','B','C','D','E','F','G','H','I','J','K','L','M','N','P','Q','R','S','T','U','V','W','X','Y','Z');
  13. $arr_x=array(30,46,62,78,94);//расстановка попикселям букв
  14. $arr_kod=array();
  15. for ($i_zn=0;$i_zn<5;$i_zn++){$i_rand=$arr_letter[rand(2,24)];imagettftext($im,  15,rand(-15,15),$arr_x[$i_zn],rand(15,24),$tc,'arial.ttf', $i_rand);$arr_kod[]=$i_rand;}
  16.  
  17. $security_kod=implode("", $arr_kod);//сборка массива
  18. $_SESSION['session_kod']=$security_kod;//сохранение в сессии
  19. header("Content-type: image/jpg");
  20. imagejpeg($im);
  21. ?>


Вот те вызов ее в HTML:
CODE (htmlphp):
скопировать код в буфер обмена
  1. <img src="picture.php">


1. arial.ttf - шрифт который ты найдешь без труда
2. back.jpg - фон размером 110*26 лучше подойдет темно серый цвет
3. данные между скриптами передаются через сессию, то есть человек ввел картинку показанную ему, далее при отправке данных из формы, в следующем скрипте проверяешь на валидность введенные данные, к примеру так:

CODE (htmlphp):
скопировать код в буфер обмена
  1. $temp_session=$_SESSION['session_kod']; //сохраненный в сесси код с картинки
  2. $temp_captcha=$_POST['captcha']; //то что мы передаем из формы
  3. if($temp_session!=$temp_captcha) header("Location: index.php"); //если не равно возвращаемся на ввод данных
  4.  


Не забываем что символы с картинки в верхнем регистре, если нужен нижний, то:
CODE (htmlphp):
скопировать код в буфер обмена
  1. $temp_session_low=strtolower($temp_session);
Alpinist Отправлено: 09 Февраля, 2010 - 09:49:15 • Тема: Пул соединений • Форум: Операционная система и системные вызовы

Ответов: 19
Просмотров: 10621
JustUserR пишет:
Да и кроме того опишите оригинальную задачу зачем сохранять ресурс соединения при перезапуске?

Необходимо сделать онлайн магазин в связке с 1С 8.1 базой. Веб-сервер находится на удаленном хостинге с поддержкой COM-соединений. Сервер 1С тоже в интернете на выделенном канале. При оформлении заявки на сайте происходит соединение с базой 1С, где формируется Договор с покупателем. Форма журнала договоров с Покупателями обновляется на компьютере менеджера каждые пять секунд и менеджеры получают заявку практически онлайн + могут своевременно выписать все необходимое в случае если человек приехал. Суть в том что если 1С не доступен из интернета то заявка не оформляется, никаких вариантов с тем чтобы отослать как-то по почте результат или сделать сторонюю базу заказчик не рассматривает. Все завязано на том что человек зашел на сайт, оформил заявку, нажал Отправить и приехал оплатить и забрать товар, а менеджеры своевременно прозвонили и подготовили товар.
Задержка 5-6 секунд на одном соединении не годится.
Если выхода не будет то придется написать модуль на перле.
Alpinist Отправлено: 08 Февраля, 2010 - 11:29:37 • Тема: Пул соединений • Форум: Операционная система и системные вызовы

Ответов: 19
Просмотров: 10621
valenok пишет:
А многие хостеры вообще позволюят работать с СОМ объектами 1С ?

Без понятия, но тот что сейчас под рукой позволяет это делать, видимо реализовали под линуксом как-то. Эксперименты с php_request_shutdown() не помогут отключить garbage collector на время?
Stierus пишет:
Сохранить соединение ты никак не сможешь, можно лишь создавать новое и автоматически приводить его к состоянию такому же, какое было при закрытии предыдущего соединения. В сессию записывать не ресурс соединения, а список действий, которые надо совершить с новым соединением, что бы прийти к тому виду, что у тебя сейчас есть.

То есть ваше мнение - пул соединений с COM-сервером базовыми средствами php, мне не создать никак?
Alpinist Отправлено: 08 Февраля, 2010 - 09:34:55 • Тема: Пул соединений • Форум: Операционная система и системные вызовы

Ответов: 19
Просмотров: 10621
valenok пишет:
garbage collector

Это отключить можно? Shared memory не подходит, многие хостеры вообще ее не задействуют.
(Добавление)
В документации к serialize:
http://ru2.php.net/manual/en/fun...on.serialize.php

Написанно следующее:
Note: It is not possible to serialize PHP built-in objects.
Дословно: Это не возможно, чтобы преобразовать встроенные объекты PHP в последовательный режим.

PHP вообще способен адекватно передавать COM-объекты? В первом сообщении я привел пример, строковые переменные передавались нормально, а указатель на соединение, котороый возвращает TRUE при соединении, на выходе из сессии возвращает FALSE.
Alpinist Отправлено: 07 Февраля, 2010 - 20:27:38 • Тема: Пул соединений • Форум: Операционная система и системные вызовы

Ответов: 19
Просмотров: 10621
valenok пишет:
Здесь дело в том, что garbage collector по завершению работы скрипта удаляет из памяти соединение с 1С, хотя в файл (сессию) все же записывается адрес в памяти.
К следующему запуску, соответсвенно, адрес уже пуст.

Дружище - это 100% и если не секрет откуда взял такие данные?

Говорят __sleep, __wakeup - помогут, но я не могу понять как это все работает
(подробности тут: http://www.urlix.ru/docs/php/language.oop5.magic.html)

Заранее благодарен за помощь.
Alpinist Отправлено: 06 Февраля, 2010 - 14:38:33 • Тема: Пул соединений • Форум: Операционная система и системные вызовы

Ответов: 19
Просмотров: 10621
Как сохранить в сессию конектор подключения к базе? То что возвращает база при соединении не получается записать в сессию, результат виден только в рамках текущей работы с пхп файлом. Странно вообще, в рамках файла результат есть, а при перезапуске результата нет. Строковые переменные он возвращает нормально.
<?
session_start();
$loggedin="Абдулов (директор)";
$loggedpasv="";
$file="//S2003/мои документы/1C/DemoAccounting";
if($_SESSION['connector']==1) echo "True"; // не вернет тру сколько не перезапускай
// соединение с COM-соединителем 1С-базы
$_SESSION['connector']=New COM("V81.COMConnector");
$res = $_SESSION['connector']->Connect("File=\"$file\";Usr=\"$loggedin\";pwd=\"$loggedpasv\";");
//
if($_SESSION['connector']==1) echo "True"; // вернет тру
echo($res->ТиповыеОтчеты->РабочаяВерсияНастройкиОтчетов());
?>

Какие варианты сохранения результатов есть?

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

 
Powered by ExBB FM 1.0 RC1. InvisionExBB