0 / 0 / 1
Регистрация: 14.02.2009
Сообщений: 470
|
||||||
1 | ||||||
Запуск внешней программы с PHP20.12.2009, 17:29. Показов 5529. Ответов 20
Метки нет (Все метки)
Делаю цикл типа:
Кто знает, почему под Linux это работает как положено - то есть выводится сообщение, потом ждем выполнение команды, потом пишет done и так далее. А под виндами ждет пока не выполнится весь цикл и нечего не выводит, а в конце выдает разом все сообщения! Пробовал по flush() отправлять вывод из буфера - не помогает.
0
|
20.12.2009, 17:29 | |
Ответы с готовыми решениями:
20
Запуск внешней программы Запуск из программы с админскими привилегиями внешней программы без прав админа Запуск внешней программы программы из коммнадной строки Запуск внешней программы |
4 / 4 / 3
Регистрация: 25.05.2009
Сообщений: 2,576
|
|
20.12.2009, 23:47 | 2 |
попробуй не мнго приостанавливать всё это дело sleep()
0
|
0 / 0 / 1
Регистрация: 03.12.2009
Сообщений: 124
|
|
21.12.2009, 09:44 | 3 |
а вот эсэлЬ - то уж должен знать почему ждет прохождения всего цикла!!! это же у него вся оперативка забивается, и прочая ерунда происходит. говорил же я не совоться туда куда не знаешь, а он еще советы дает - да какие, поставь говорит sleep чтоб еще медленнее было.
для работы этого цикла так как реально задумано надо использовать flush() ибо все данные сначала помещаются в буфер и только потом высылаются в браузер. так вот flush() этот самый буфер и очищает, отправляя все что в нем браузеру. сразу огорчу - под виндой у меня flush() не работает, в чем причина - понятия не имею. но ходят слухи что у многих работает. возможно зависит от способа подключения php к апачу. у меня стоит как модуль. эксперементируй!
0
|
0 / 0 / 1
Регистрация: 14.02.2009
Сообщений: 470
|
|
21.12.2009, 09:55 [ТС] | 4 |
Flush не работает? Логично.
Просто любопытно - в чем по твоему разница в этом случае между виндой и линуксом (без flusha) на одной машине?
0
|
0 / 0 / 1
Регистрация: 03.12.2009
Сообщений: 124
|
|
21.12.2009, 10:09 | 5 |
разные ОСи, соответственно - абсолютно разные реализации, конфигурации как апача, так и пхп. У пхп - есть инструкции в пхп.ини выводить все сразу, без буферизации, но видимо не работает она как раз по причине проблем с flush()
вполне возможно что в линухов пхп - такая инструкция стоит по умолчанию. а разница очевидна - пхп вообще под *никс писался изначально, а под винду его просто подгоняли ... а от машины тут ничего не зависит.
0
|
0 / 0 / 1
Регистрация: 14.02.2009
Сообщений: 470
|
|
21.12.2009, 11:43 [ТС] | 6 |
Кстати этот самый 'convert' в реализации под виндоуз работает в 3 раза быстрее, чем под родным Линукс (по крайней мере меняет размер изображения.
А вот функции 'images...' из ПХП наоборот под виндами работают раз в 10 медленнее.
0
|
0 / 0 / 0
Регистрация: 15.12.2009
Сообщений: 15
|
|
26.12.2009, 04:23 | 7 |
; buffering functions. You can also enable output buffering for all files by
; setting this directive to On. If you wish to limit the size of the buffer ; to a certain size - you can use a maximum number of bytes instead of 'On', as ; a value for this directive (e.g., output_buffering=4096). output_buffering = 4096 оно??
0
|
0 / 0 / 1
Регистрация: 03.12.2009
Сообщений: 124
|
|
26.12.2009, 09:57 | 8 |
; Implicit flush tells PHP to tell the output layer to flush itself
; automatically after every output block. This is equivalent to calling the ; PHP function flush() after each and every call to print() or echo() and each ; and every HTML block. Turning this option on has serious performance ; implications and is generally recommended for debugging purposes only. implicit_flush = off оно!!!
0
|
0 / 0 / 1
Регистрация: 14.02.2009
Сообщений: 470
|
|
26.12.2009, 16:59 [ТС] | 9 |
Сейчас попробую, спасибо.
У меня еще вопрос на засыпку - я правильно понимаю, что выполнить внешнюю программу, которая не является утилитой командной строки невозможно? Мне нужно запустить из ПХП, например, GIMP под линуксом или фотошоп в виндах - как быть?
0
|
0 / 0 / 1
Регистрация: 14.02.2009
Сообщений: 470
|
|
27.12.2009, 11:41 [ТС] | 10 |
Пожалйста,
напишите кто-что может по моему последнему вопросу!
0
|
0 / 0 / 1
Регистрация: 03.12.2009
Сообщений: 124
|
|
27.12.2009, 12:27 | 11 |
запускать Photoshop ...
хм - а где смысл? что то я никак не сооброжу ... что это вообще будет. и как это увязать с вебом. расскажи лучше для каких целей тебе вообще необходимо это организовать а то может ты вообще на неверном пути 90% ошибок возникают на стадии проектирования
0
|
0 / 0 / 1
Регистрация: 14.02.2009
Сообщений: 470
|
|
27.12.2009, 12:45 [ТС] | 12 |
Расскажу с удовольствием.
Я увлекаюсь цифровой фотографией и их у меня уже больше 1000. Комп у меня то под виндами, то под Линуксом. В последнем случае ни одной нормальной программы для фотоальбомов я не нашел, да и в первом тоже. Также под Линуксом нет программы, которая бы группировала фотографии, например, по 4 на листе А4 для печати. Кроме GIMP и convert - мне надо, чтобы жена тоже могла пользоваться. Поэтому я поставил хост на одну и туже директорию (под fat32) в виндах и линуксе и написал (пишу) на рхр свою программу для фотогаллереи. Готовые не нравится ни одна! Так вот я хочу запускать фотошоп с выделеными фотографиями прямо из браузера, если нужно, например, подтянуть уровни. Хотя, конечно, понимаю, что это задача не для ВЕБ-приложений.
0
|
0 / 0 / 1
Регистрация: 03.12.2009
Сообщений: 124
|
|
27.12.2009, 12:50 | 13 |
ну идея конечно хорошая,
но думаю сдесь java больше подойдет!!!
0
|
0 / 0 / 1
Регистрация: 03.12.2009
Сообщений: 124
|
|
27.12.2009, 12:56 | 14 |
у меня таже история было с музыкой,
но только платформа у меня одна поэтому я заделал на C++ а в вашем случае - межплатформенную программу можно написать на Java, причем по моему не так уж и сложно это будет сделать, а возможностей много - и сервер совсем не нужен
0
|
0 / 0 / 1
Регистрация: 14.02.2009
Сообщений: 470
|
|
27.12.2009, 13:09 [ТС] | 15 |
Я явы совсем не знаю.
У меня еще задумка опубликовать потом это в ВЕБе в усеченном варианте - для друзей. Все таки - есть идеи по запуску фотошопа на ПХП?
0
|
0 / 0 / 1
Регистрация: 03.12.2009
Сообщений: 124
|
|
31.12.2009, 21:04 | 16 |
Для веба такие заморочки вообще смысла не имеют.
Потому что все построено на технологии клиент - сервер. Клиент спрашивает - сервер отвечает. Все рассчитано на передачу данных. А если запускать Фотошоп на сервере - то какой это имеет смысл? Думаю админ от этого не обрадуется, а клиенту до запущенного (ну допустим) Фотошопа никогда не добраться. Сдесь надо получить доступ к командной строке, и это через веб нериально (про вынос апача умолчим).
0
|
0 / 0 / 1
Регистрация: 14.02.2009
Сообщений: 470
|
|
03.01.2010, 10:54 [ТС] | 17 |
Я не собираюсь в ВЕБе запускать фотошоп. Хочу опубликовать только саму фотогаллерею, без администрирования.
Так все-таки - есть идеи по запуску фотошоп из ПХП?
0
|
0 / 0 / 1
Регистрация: 03.12.2009
Сообщений: 124
|
|
03.01.2010, 17:46 | 18 |
знаешь - я все это расписал не для того чтоб ты вопрос задал еще раз, а для того чтоб тебе ясно стало что это несочетаемые вещи.
любой сервер - будь то локальный или удаленный - остается сервером, поэтому все это относится и к твоему серверу тоже. есть такая штука как PHP-GTK, так вот там - такое возможно, так как в этом случае созданное приложение никакого отношения к вебу не имеет. что касается самого PHP: passthru() system() exec() Вот набор функций которые позволяют худо бедно исполнить внешние команды. Конечно можно к примеру дабавить путь к photoshop.exe в PATH и пустить exec('photoshop.exe'); но честно скажу - не пробовал ))))
0
|
rookie
|
|
06.01.2010, 03:30 | 19 |
Вебсервер для апплета на джаве действительно не нужен но существует небольшое ограничение.Если у юзера нет на компе джавы(ХР например) то ему качать ее надо. Если у него есть встроенна джава от майкрософт то она старая и урезанная и свингов в ней нет(а это очень хорошая штука) поэтому если писать на свинге то надо юзеру ставить линк на скачку плагина(JRE 1.4.2).С Линуксом по моему проще по крайней мере со свежими версиями там уже есть джава и гораздо выше версии чем на виндоуз.
А ваще прикольно у вас тут на форуме по пхп.sl_play ругается запостоянку с 8fr0st8... Иногда захожу чисто почитать что ещё нового они придумали во взаимном оскорблении друг друга)))))))))))) |
0 / 0 / 1
Регистрация: 03.12.2009
Сообщений: 124
|
|
06.01.2010, 23:01 | 20 |
а мы люди не гордые. мне вообще все по барабану.
могу и на вас мистер последняя кровь наехать. не джава вообще то а Ява, и названа оно в честь острова, на котором колоситься кофе. Кстати и эмблема у него - кофейная кружка ))) И еще - это вообще ответ на какой вопрос? Чета я весь топик перерыл, но нигде контакта не нашел. Или ты просто решил блеснуть своими познаниями в Джаве? Тогда заходи чаще - познаний будет больше 6) !!!Вы прослушали тренировачный наезд на мистера Роки, просьба не воспринимать эти строки в серьез, ну разве что за исключением строк про кофе.!!! ОФФТОПИК ))))))))))))))))))))))))))))
0
|
06.01.2010, 23:01 | |
06.01.2010, 23:01 | |
Помогаю со студенческими работами здесь
20
Запуск внешней программы Запуск внешней программы Запуск внешней программы Запуск внешней программы Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |