KeFiR

Рейтинг
40
Регистрация
06.10.2007

Была проблема на почтовом сервере. ТС выявил проблему, помог решить проблему и проконсультировал на будущее.

Знает свое дело и приятен в общении.

Буду обращаться в дальнейшем, рекомендую.

Была проблема с самбой. ТС понял все сразу все понял и быстро разобрался в чем проблема. Проблема конечно была на моей стороне, но поразило как ТС отвественно подходит к выполнению поставленной задачи, если взялся - то доделает работу до конца. Человек приятен в общении и легок в понимании. Проконсультировал и дал несколько советов на будующее. Рекомендую.

Ладно, тогда пробуем так

Заменяем

http://([^/]+)//(.*)//param

на

http://\1/param
Я же пишу про установщик для обычных пользователей. Если вы хотите мудрить, вы всё равно найдёте способ это сделать Смысл в том, чтобы пользователь мог установить скрипт без правки конфигов и ручной распаковки.

Вот эти обычные пользователи и не будут мудрить, им хостер даст фтп и все. А потом начнутся проблемы, а у меня того нету, а тут это не разрешено и т.д. Да и к тому же, не везде можно будет распаковать tar.gz средствами пхп.

Ну тогда что я и предлагал в самом начале

заменить http:// на что-нить без //

потом заменить

//(.*)//
на
/

и обратно заменить http

и все

А смысл? Из PHP-скрипта можно без проблем определить эти данные, на кой чёрт кошмарить пользователя? IMHO, просто так типа принято, ну и инерция, разработчики не думая повторяют шаблонные решения.

А смысл в том что данные полученные скриптом, могут не совсем верными быть.

Например если я не хочу ставить скрипт в корень, а хочу в папку, а эту папку я алиасом привязываю к другому месту...нифига скрипт не определить мою криворукость.

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

Кстати, а как решать проблему прав? Где-то нужно 755 ставить, где-то 644 и т.д.

У меня например есть дешевый хостинг, там поставлен сейф-мод, бэйс-дир, отключено дохрена функция (gz*) и отрублены на уровне фаервола исходящие коннекты.

В принципе у меня там стоит форум и cms публичные, а ваш скрипт/установщик потянут все эти условия?

Вот кстати еще один способ, без замены http://

Меняем

//([^/]+)/([^/]+)//
на
/


$url = preg_replace('%(?<!:)//(.+)//%i', '/', $url);

Насчет notepad не знаю, но врядли в нем поддерживается такая конструкция

(?<!:)

Поэтому проще сделать так

заменить сначала обычным поиском

http:// за какую-нить фигню типо http|||

потом регуляркой заменить //(.+)// на /

затем заменить http||| на http://

Имхо нельзя написать универсального установщика. Востребовано - полюбому будет, а вот насчет реализации я сильно сомневаюсь.

90% установщиков требуют ввести обязательные начальные данные:

1) локальный путь

2) веб путь

3) конфиг базы данных

4) аккаунт админа

Тут что автоустановщик, что - нет, данные все равно придется вводить. А значит пользователю придется смотреть инфу, создавать базу (нельзя же расчитывать на create database).

В итоге от автоустановщика, остается только простая скачка дистрибутива и распаковка.

Вообщем теже яйца, только в профиль.

Лично я, никогда бы не воспользовался автоустановкой скрипта от разработчиков.

Аля есть форма у них на сайте, где вводить базу, пути, аккаунт и ихний скрипт ставит на твой сервер скрипт и настраивает его.. Как-то это небезопасно чтоли или как-то так, доверия не внушает.

воспользовался услугами ТС. Bloodу очень быстро помог разобратся в проблемах сервера, все исправил и восстановил. Цены ниже некуда, а качество самое высокое. Рекомендую.

Всего: 59