Если логов не предусмотрено - я знаю только один вариант: 'strace -p 107553'. Выведет системные вызовы процесса, хоть что-то можно будет понять, что он там делает, может файл в бесконечном цикле читает, или ещё что...
Ну вон он, работающий 107552 и его потомок 107553. Он ведь явно не должен крутиться бесконечно, раз у него запуск каждые 10 минут, да? Убивайте вручную 'kill 107553 107552'. Можно ещё таймер и сервис перезапустить, на всякий случай.
Приведите лог ошибок в консоли браузера, но не когда у вас намешаны в кучу brepex.ru и localhost. Или ищите и исправляйте, где у вас уходит запрос на localhost, когда должен уходить на brepex.ru...
Тогда сделайте вывод echo(rawurlencode($csvText));
И поменяйте в $csvText = str_replace("\xXX\xXX", "", $csvText); соответствующие XX на то, что у вас там выведется, пропустив знаки %.
Ну как же так, ну что-ж это такое?! И как теперь это развидеть? И обязательно стереть эту строку из всех Linux серверов, обязательно! Потому что это банально, и не нравится.
Dmitry Roo, GET передаёт данные в самом URL. POST передаёт данные как в URL, так и внутри тела запроса. С помощью ссылки на HTML-странице POST запрос не выполнить. Речь конечно о стандартных средствах, например без использования Javascript и браузерных плагинов.
AJAX целиком и полностью формируется Javascript-ом, а значит в нём нет cookie с идентификатором сессии, а значит нет и самой сессии. По-моему так. Проверьте!
И вы ДОЛЖНЫ в AJAX-запросе передавать обязательные POST-данные, прочитайте приведённую вами же документацию.
Ну вот, у вас в AJAX вообще никакого data:, так? И по поводу /../../progress.php, он точно находится по такому пути? Этот запрос 200-ый статус получает?