URL: https://www.opennet.me/cgi-bin/openforum/vsluhboard.cgi
Форум: vsluhforumID9
Нить номер: 4386
[ Назад ]

Исходное сообщение
"Не понятка с PHP"

Отправлено Kegli , 21-Июн-05 17:47 
Есть такая проблема. Условно, есть файл php. Я этот файл копирую на линукс машину. Открываю для редактирования и вижу, что в конце каждой строки стоит на чёрном фоне курсора символ ^ - что это такое ? Из-за этого не работуют php странички. Как от этого избавиться ? Помогите, люди добрые.

Содержание

Сообщения в этом обсуждении
"Не понятка с PHP"
Отправлено Simps , 21-Июн-05 18:05 
>Есть такая проблема. Условно, есть файл 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"
Отправлено Kegli , 21-Июн-05 18:14 
>>Есть такая проблема. Условно, есть файл 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"
Отправлено kreon , 23-Июн-05 00:20 
>Из-за этого не работуют php странички. Как от этого
>избавиться ? Помогите, люди добрые.

А каким образом они "не работают"?
Укажите выдаваемые ошибки.
AFAIK php-интерпретатору абсолютно по барабану \r\n или \n идёт, т.к. он при обработке на всякие пробелы и переводы строк плюёт полностью.
Так что возможно проблема не в этом.

>Блин, ну не ужели нет такой настроечки в линухе, которая нормально будет
>это воспринимать????

Включите ASCII-режим в своём ftp-клиенте когда будете закачивать php-скрипты на *nix-машину.


"Не понятка с PHP"
Отправлено Kegli , 24-Июн-05 10:12 
>>Из-за этого не работуют php странички. Как от этого
>>избавиться ? Помогите, люди добрые.
>
>А каким образом они "не работают"?
>Укажите выдаваемые ошибки.
>AFAIK php-интерпретатору абсолютно по барабану \r\n или \n идёт, т.к. он при
>обработке на всякие пробелы и переводы строк плюёт полностью.
>Так что возможно проблема не в этом.
>
>>Блин, ну не ужели нет такой настроечки в линухе, которая нормально будет
>>это воспринимать????
>
>Включите ASCII-режим в своём ftp-клиенте когда будете закачивать php-скрипты на *nix-машину.

Дело в том, что совсем не факт, что я закачиваю всё через фтп клиента. Я могу закаживать и через фтп и через самбу, например. Всё одно и тоже. Мне посоветовали в php.ini выключить обработку ошибок. У меня там стояло , по-умолчанию ругаться на всё. Я это выключил и вроде работает теперь всё, но так и продолжают бесить эти символы ^ (на чёрном фоне курсора) в конце каждой строки. А утилиткой col замучаешься пользоваться, если на пример не один файл надо почистить а двести один.


"Не понятка с PHP"
Отправлено Simps , 24-Июн-05 11:52 
>>>Из-за этого не работуют 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"
Отправлено Kegli , 24-Июн-05 12:02 
>>>>Из-за этого не работуют 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 режима на фтп. ??


"Не понятка с PHP"
Отправлено kreon , 24-Июн-05 13:06 
>Извините пожалуйста, за возможно глупы вопрос, а как включить поддержку ASCII режима
>на фтп. ??

либо выбрать в клиенте галочку, либо при использовании консольного клиента (или клиента с возможностью ввода команд фтп-серверу напрямую) - TYPE A


"Не понятка с PHP"
Отправлено Forth , 24-Июн-05 13:02 
Тогда запускать такой шкрипт:
#!/bin/sh
for i in `ls *.php`
do
cat $i | col -bx > $i.new
done
rm *.php
mv *.php.new *.php


"Не понятка с PHP"
Отправлено chip , 24-Июн-05 13:57 
>Тогда запускать такой шкрипт:
>#!/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"


"Не понятка с PHP"
Отправлено Forth , 24-Июн-05 15:55 
>не будет работать при "сложной" структуре директорий. Как минимум 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


"Не понятка с PHP"
Отправлено chip , 24-Июн-05 13:52 
>А утилиткой col замучаешься пользоваться, если на пример не один
>файл надо почистить а двести один.

Учите матчасть:
find /path/to/script/folder -type f -name "*.php" -exec dos2unix {} \;

dos2unix - абстракция приложения.