web-dev-qa-db-ja.com

FTPクライアントを切り替えた後、改行文字がPHPアプリのログファイルへの書き込みを停止しました

PHPで実行しているWebサイトがあり、ログファイルを書き込みます。 PHP_EOLを追加して、各ログエントリを新しい行に取得します。これは正常に機能していましたが、約1週間前に改行が表示されなくなり、ログファイルが文字化けしました。 PHP_EOLを\ r\nに置き換えてみましたが、違いはありませんでした。 1年以上スクリプトを編集していません。私は困惑しています。

1
user3473715

この問題は、FTPクライアントの変更(FileZillaから "CoffeeCup Free FTP")に一致しており、ASCII FTPファイル転送中のEOL変換の結果である可能性があります。または、「バイナリ」モードでLinuxサーバーからWindowsに転送することもできます。通常、FTPクライアントは特定のファイルタイプに対してデフォルトでASCII転送モードになりますが、これはFTPクライアント内で構成可能です。

ASCII転送モードでは、EOLを完全に削除しないでください。ただし、結果ファイルの表示に使用されているエディターと、行末の解釈方法にも依存します。たとえば、EOLがUNIXスタイル\nの場合、Windowsのメモ帳でこれを表示しようとすると、すべて1行に表示されます。ただし、SublimeTextのようなエディターは、行末を正しく解釈し、意図したとおりにファイルを表示します。

1
MrWhite