Есть такая проблема. Условно, есть файл php. Я этот файл копирую на линукс машину. Открываю для редактирования и вижу, что в конце каждой строки стоит на чёрном фоне курсора символ ^ - что это такое ? Из-за этого не работуют php странички. Как от этого избавиться ? Помогите, люди добрые.
>Есть такая проблема. Условно, есть файл php. Я этот файл копирую на
>линукс машину. Открываю для редактирования и вижу, что в конце каждой
>строки стоит на чёрном фоне курсора символ ^ - что это
>такое ? Из-за этого не работуют php странички. Как от этого
>избавиться ? Помогите, люди добрые.Взято из инету по строке поиска в гугль http://www.google.ru/search?num=100&hl=ru&newwindow=1&q=wind...
Юниксовый Perl плохо воспринимает досовский перевод строки - CR LF. Если открыть такой файл в vi в конце строк будут ^M. Удалить их можно, например таким скриптом:
#!/bin/bash
install -d -m 0775 orig
cp $1 orig/$1.orig.`date +%m-%d-%H.%M`
sed -e "s/^M//g" $1 >oooo
mv -f oooo $1Некоторые перекодировщики также умеют конвертировать концы строк.
>>Есть такая проблема. Условно, есть файл php. Я этот файл копирую на
>>линукс машину. Открываю для редактирования и вижу, что в конце каждой
>>строки стоит на чёрном фоне курсора символ ^ - что это
>>такое ? Из-за этого не работуют php странички. Как от этого
>>избавиться ? Помогите, люди добрые.
>
>Взято из инету по строке поиска в гугль http://www.google.ru/search?num=100&hl=ru&newwindow=1&q=wind...
>
>Юниксовый Perl плохо воспринимает досовский перевод строки - CR LF. Если открыть
>такой файл в vi в конце строк будут ^M. Удалить их
>можно, например таким скриптом:
>
>#!/bin/bash
>install -d -m 0775 orig
>cp $1 orig/$1.orig.`date +%m-%d-%H.%M`
>sed -e "s/^M//g" $1 >oooo
>mv -f oooo $1
>
>Некоторые перекодировщики также умеют конвертировать концы строк.Блин, ну не ужели нет такой настроечки в линухе, которая нормально будет это воспринимать????
>Из-за этого не работуют php странички. Как от этого
>избавиться ? Помогите, люди добрые.А каким образом они "не работают"?
Укажите выдаваемые ошибки.
AFAIK php-интерпретатору абсолютно по барабану \r\n или \n идёт, т.к. он при обработке на всякие пробелы и переводы строк плюёт полностью.
Так что возможно проблема не в этом.>Блин, ну не ужели нет такой настроечки в линухе, которая нормально будет
>это воспринимать????Включите ASCII-режим в своём ftp-клиенте когда будете закачивать php-скрипты на *nix-машину.
>>Из-за этого не работуют php странички. Как от этого
>>избавиться ? Помогите, люди добрые.
>
>А каким образом они "не работают"?
>Укажите выдаваемые ошибки.
>AFAIK php-интерпретатору абсолютно по барабану \r\n или \n идёт, т.к. он при
>обработке на всякие пробелы и переводы строк плюёт полностью.
>Так что возможно проблема не в этом.
>
>>Блин, ну не ужели нет такой настроечки в линухе, которая нормально будет
>>это воспринимать????
>
>Включите ASCII-режим в своём ftp-клиенте когда будете закачивать php-скрипты на *nix-машину.Дело в том, что совсем не факт, что я закачиваю всё через фтп клиента. Я могу закаживать и через фтп и через самбу, например. Всё одно и тоже. Мне посоветовали в php.ini выключить обработку ошибок. У меня там стояло , по-умолчанию ругаться на всё. Я это выключил и вроде работает теперь всё, но так и продолжают бесить эти символы ^ (на чёрном фоне курсора) в конце каждой строки. А утилиткой col замучаешься пользоваться, если на пример не один файл надо почистить а двести один.
>>>Из-за этого не работуют php странички. Как от этого
>>>избавиться ? Помогите, люди добрые.
>>
>>А каким образом они "не работают"?
>>Укажите выдаваемые ошибки.
>>AFAIK php-интерпретатору абсолютно по барабану \r\n или \n идёт, т.к. он при
>>обработке на всякие пробелы и переводы строк плюёт полностью.
>>Так что возможно проблема не в этом.
>>
>>>Блин, ну не ужели нет такой настроечки в линухе, которая нормально будет
>>>это воспринимать????
>>
>>Включите ASCII-режим в своём ftp-клиенте когда будете закачивать php-скрипты на *nix-машину.
>
>
>
>Дело в том, что совсем не факт, что я закачиваю всё через
>фтп клиента. Я могу закаживать и через фтп и через самбу,
>например. Всё одно и тоже. Мне посоветовали в php.ini выключить обработку
>ошибок. У меня там стояло , по-умолчанию ругаться на всё. Я
>это выключил и вроде работает теперь всё, но так и продолжают
>бесить эти символы ^ (на чёрном фоне курсора) в конце каждой
>строки. А утилиткой col замучаешься пользоваться, если на пример не один
>файл надо почистить а двести один.
Заливайте файлы только по фтп в ASCII режимеЧто мешает подумать?
convert.sh
#!/bin/bash
install -d -m 0775 orig
cp $1 orig/$1.orig.`date +%m-%d-%H.%M`
sed -e "s/^M//g" $1 >oooo
mv -f oooo $1И в паре с тем же find сделать что нить типа
find тра-та-та | xargs convert.sh
>>>>Из-за этого не работуют php странички. Как от этого
>>>>избавиться ? Помогите, люди добрые.
>>>
>>>А каким образом они "не работают"?
>>>Укажите выдаваемые ошибки.
>>>AFAIK php-интерпретатору абсолютно по барабану \r\n или \n идёт, т.к. он при
>>>обработке на всякие пробелы и переводы строк плюёт полностью.
>>>Так что возможно проблема не в этом.
>>>
>>>>Блин, ну не ужели нет такой настроечки в линухе, которая нормально будет
>>>>это воспринимать????
>>>
>>>Включите ASCII-режим в своём ftp-клиенте когда будете закачивать php-скрипты на *nix-машину.
>>
>>
>>
>>Дело в том, что совсем не факт, что я закачиваю всё через
>>фтп клиента. Я могу закаживать и через фтп и через самбу,
>>например. Всё одно и тоже. Мне посоветовали в php.ini выключить обработку
>>ошибок. У меня там стояло , по-умолчанию ругаться на всё. Я
>>это выключил и вроде работает теперь всё, но так и продолжают
>>бесить эти символы ^ (на чёрном фоне курсора) в конце каждой
>>строки. А утилиткой col замучаешься пользоваться, если на пример не один
>>файл надо почистить а двести один.
>
>
>Заливайте файлы только по фтп в ASCII режиме
>
>Что мешает подумать?
>convert.sh
>#!/bin/bash
>install -d -m 0775 orig
>cp $1 orig/$1.orig.`date +%m-%d-%H.%M`
>sed -e "s/^M//g" $1 >oooo
>mv -f oooo $1
>
>И в паре с тем же find сделать что нить типа
>
>find тра-та-та | xargs convert.sh
Извините пожалуйста, за возможно глупы вопрос, а как включить поддержку ASCII режима на фтп. ??
>Извините пожалуйста, за возможно глупы вопрос, а как включить поддержку ASCII режима
>на фтп. ??либо выбрать в клиенте галочку, либо при использовании консольного клиента (или клиента с возможностью ввода команд фтп-серверу напрямую) - TYPE A
Тогда запускать такой шкрипт:
#!/bin/sh
for i in `ls *.php`
do
cat $i | col -bx > $i.new
done
rm *.php
mv *.php.new *.php
>Тогда запускать такой шкрипт:
>#!/bin/sh
>for i in `ls *.php`
>do
>cat $i | col -bx > $i.new
>done
>rm *.php
>mv *.php.new *.phpне будет работать при "сложной" структуре директорий. Как минимум ls *.php нужно заменить на find . -type f -name "*.php"
>не будет работать при "сложной" структуре директорий. Как минимум ls >*.php нужно
>заменить на find . -type f -name "*.php"
Точно. Поспешил. Тогда вот так:
#!/bin/sh
for i in `find . -type f -name "*.php"`
do
cat $i | col -bx > $i.new && rm $i && mv $i.new $i
done
>А утилиткой col замучаешься пользоваться, если на пример не один
>файл надо почистить а двести один.Учите матчасть:
find /path/to/script/folder -type f -name "*.php" -exec dos2unix {} \;dos2unix - абстракция приложения.