Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/topic.php on line 737
Форумы портала PHP.SU :: как 2 работающих скрипта могут обяться между собой

 PHP.SU

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


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

> Без описания
scuter
Отправлено: 23 Мая, 2008 - 20:51:32
Post Id



Посетитель


Покинул форум
Сообщений всего: 282
Дата рег-ции: Янв. 2008  


Помог: 0 раз(а)




всем пиве,
сеть 2 работающих скрипта претроложим они работают 2 мин.,
как сделать так чтобы один мог чтонибуть передать другому,
напимер какую нибуть переменную, вариант с файтами отпадает,
т. к. одновременная работа с одним файлом врятли получится.
 
 Top
RomAndry Администратор
Отправлено: 24 Мая, 2008 - 13:50:08
Post Id



Частый посетитель


Покинул форум
Сообщений всего: 913
Дата рег-ции: Янв. 2008  


Помог: 6 раз(а)




 
My status
 Top
Джур
Отправлено: 26 Мая, 2008 - 11:12:54
Post Id



Посетитель


Покинул форум
Сообщений всего: 423
Дата рег-ции: Март 2007  


Помог: 0 раз(а)




ну... одновременная работа вполне получится, главное файл на долго не задерживать.

как я понимаю, скртипты вы запускаете кроном, тогда решение это:
1. через файл
2. через файл в RAM (многие хостеры под Linux-ом делают /tmp не на диске а в памяти)
3. memcached


-----
Тамбовский каджит тебе товарищ
 
 Top
scuter
Отправлено: 26 Мая, 2008 - 19:19:47
Post Id



Посетитель


Покинул форум
Сообщений всего: 282
Дата рег-ции: Янв. 2008  


Помог: 0 раз(а)




Цитата:
ну... одновременная работа вполне получится, главное файл на долго не задерживать.

как я понимаю, скртипты вы запускаете кроном, тогда решение это:
1. через файл
2. через файл в RAM (многие хостеры под Linux-ом делают /tmp не на диске а в памяти)
3. memcached

как раз в этом то вся и проблема,
через файл вариант отпадает так как 2 скрипта могут одновременно записывать один и тот же файл(соответственно информация теряется,
через RAM файлы тоже отпадает по той же причине,
а для memcached нужен отдельный сервер или что то в этом роде,
соответственно на серверах такое дело отсутствует к сожалению.
если бы всё было бы так просто наверное вопроса бы такого и не возникало.
 
 Top
EuGen Администратор
Отправлено: 26 Мая, 2008 - 19:36:22
Post Id


Профессионал


Покинул форум
Сообщений всего: 9095
Дата рег-ции: Июнь 2007  
Откуда: Berlin


Помог: 707 раз(а)




Можно записывать что-то в БД. Если она есть, конечно. Вообще, потребуется некий сторонний интерфейс общения между ними, БД - как пример.


-----
Есть в мире две бесконечные вещи - это Вселенная и человеческая глупость. Но насчет первой .. я не уверен.
 
 Top
Джур
Отправлено: 26 Мая, 2008 - 23:25:24
Post Id



Посетитель


Покинул форум
Сообщений всего: 423
Дата рег-ции: Март 2007  


Помог: 0 раз(а)




вот как. удивлен. А как же блокировка файла? второй скрипт, хочет он того или нет, будет ждать, когда файл освободится.

Если в вашей системе блокировка файлов по какой-то причине не работает, что весьма сомнительно, тогда можно воспользоватся переименовыванием файла, как ни крути а переименовывание файла в РНР, процедура атомарная.
подробней в: "РНР5 в подлинике"

кстати, если база mysql 4.* а таблички myisam, то можно нарватся на колизию. Улыбка


-----
Тамбовский каджит тебе товарищ
 
 Top
EuGen Администратор
Отправлено: 27 Мая, 2008 - 09:24:35
Post Id


Профессионал


Покинул форум
Сообщений всего: 9095
Дата рег-ции: Июнь 2007  
Откуда: Berlin


Помог: 707 раз(а)




mysql5+InnoDB


-----
Есть в мире две бесконечные вещи - это Вселенная и человеческая глупость. Но насчет первой .. я не уверен.
 
 Top
scuter
Отправлено: 27 Мая, 2008 - 18:47:26
Post Id



Посетитель


Покинул форум
Сообщений всего: 282
Дата рег-ции: Янв. 2008  


Помог: 0 раз(а)




да вот когда используешь db например mysql
то всё на много лучше предстоит, но тут я столкнулся с некой проблемой,
некоторые данные просто не проходять так как надо екранизировать кавычки,
но когда я их экранизирую почему то хранится это всё в базе с экранироваными кавычками и выдаётся косяк \" \' примепно так,
что с этим косяком делать пока не знаю.
 
 Top
Джур
Отправлено: 28 Мая, 2008 - 09:59:51
Post Id



Посетитель


Покинул форум
Сообщений всего: 423
Дата рег-ции: Март 2007  


Помог: 0 раз(а)




scuter пишет:
некоторые данные просто не проходять так как надо екранизировать кавычки,
но когда я их экранизирую почему то хранится это всё в базе с экранироваными кавычками и выдаётся косяк \" \' примепно так,
что с этим косяком делать пока не знаю.

1. убейте магические кавычки на всякий случай...
2. юзайте mysql_escape_string() для экранирования

проверте запрос к базе, возможно у вас там

потому и возвращает чепуху
ну на крайний случай stripslashes-получаемые из базы данные


-----
Тамбовский каджит тебе товарищ
 
 Top
scuter
Отправлено: 29 Мая, 2008 - 04:24:52
Post Id



Посетитель


Покинул форум
Сообщений всего: 282
Дата рег-ции: Янв. 2008  


Помог: 0 раз(а)




Цитата:
1. убейте магические кавычки на всякий случай...
2. юзайте mysql_escape_string() для экранирования

mysql_escape_string() не желательно использовать,
он не выдерживает большое количество текста,
на счёт магических кавычек я в притципе так и делаю,
PHP:
скопировать код в буфер обмена
  1. $val = @str_replace('\\', '\\\\', $val);
  2. $val = @str_replace('\'', '\\\'', $val);

но всё равно галиматья получается
кавычки или переэкранируются или вообще не экранируются.
 
 Top
valenok Модератор
Отправлено: 29 Мая, 2008 - 06:53:00
Post Id



Здесь могла бы быть ваша реклама


Покинул форум
Сообщений всего: 4574
Дата рег-ции: Июль 2006  
Откуда: Israel


Помог: 3 раз(а)




Цитата:
mysql_escape_string() не желательно использовать,
он не выдерживает большое количество текста,


Это чтото новое придумал ? =)


-----
Truly yours, Sasha.
 
My status
 Top
scuter
Отправлено: 29 Мая, 2008 - 17:25:47
Post Id



Посетитель


Покинул форум
Сообщений всего: 282
Дата рег-ции: Янв. 2008  


Помог: 0 раз(а)




Цитата:
Это чтото новое придумал ? =)

попробуйте поставить Drupal v6,
и поставьте несколько модулей,
как только вы их активируете, появиться ошибка,
точно воспроизвести не могу, но там будет написано что функция mysql_escape_string
может обработать какое то количество символо о не больше.
 
 Top
valenok Модератор
Отправлено: 29 Мая, 2008 - 18:47:46
Post Id



Здесь могла бы быть ваша реклама


Покинул форум
Сообщений всего: 4574
Дата рег-ции: Июль 2006  
Откуда: Israel


Помог: 3 раз(а)




Скорее всего в друпал решили что записывать в бд данные в количесве большем чем определённое нельзя. Или php ошибка ? Подозреваю что друпал не такую выдал.


-----
Truly yours, Sasha.
 
My status
 Top
Страниц (1): [1]
Сейчас эту тему просматривают: 0 (гостей: 0, зарегистрированных: 0)
« Программирование на PHP »


Все гости форума могут просматривать этот раздел.
Только зарегистрированные пользователи могут создавать новые темы в этом разделе.
Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.
 



Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB