Покинул форум
Сообщений всего: 7
Дата рег-ции: Июль 2016
Помог: 0 раз(а)
Добрый день
система DEBIAN. установлены конвертеры xls2csv и xlsx2csv (из консоли работают корректно на 100%). Но из php
exec("xls2csv /dir1/file1.xls > /dir2/file1.csv"); отрабатывается нормально
exec("xlsx2csv /dir1/file2.xlsx /dir2/file2.csv"); не дает результата.
при этом если в консоли запустить xlsx2csv /dir1/file2.xlsx /dir2/file2.csv то все нормально. Права на папки 777. Пробовал все аналоги (shell_exec, system...) - та же хрень.
Пока ковырялся, заметил что даже не все классические примеры работают:
<?php
echo "тестируем ls<br>";
echo exec('ls', $res) . '<br>';
var_dump($res);
с xlsx2csv результат аналогичный
array(2) { [0]=> string(60) "/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin" [1]=> string(17) "/usr/bin/xlsx2csv" }
/usr/bin/xlsx2csv
andrewkard
Отправлено: 03 Июля, 2016 - 10:48:51
Участник
Покинул форум
Сообщений всего: 1372
Дата рег-ции: Нояб. 2014
Помог: 30 раз(а)
eos12 пишет:
exec("xls2csv /dir1/file1.xls > /dir2/file1.csv"); отрабатывается нормально
exec("xlsx2csv /dir1/file2.xlsx /dir2/file2.csv"); не дает результата
а наоборот?
eos12
Отправлено: 03 Июля, 2016 - 12:12:31
Новичок
Покинул форум
Сообщений всего: 7
Дата рег-ции: Июль 2016
Помог: 0 раз(а)
andrewkard пишет:
eos12 пишет:
exec("xls2csv /dir1/file1.xls > /dir2/file1.csv"); отрабатывается нормально
exec("xlsx2csv /dir1/file2.xlsx /dir2/file2.csv"); не дает результата
а наоборот?
Что наоборот? Не врублюсь что можно сделать наоборот.
если xls2csv 1.xlsx 1.csv то говорит is not OLE file or Error
что вполне ожидаемо.
Господа, а какой у вас на debian результат выполнения
echo exec('whoami', $res);
var_dump($res);
?
Я подозреваю, что если разобраться в чем здесь собака порылась, то и с конвертерами будет понятно...
Я находил где-то похожую тему. Что половина команд нормально отрабатывалась, а вторая глючила. Но там топикстартер устал разбираться и закрыл тему.
Покинул форум
Сообщений всего: 4526
Дата рег-ции: Февр. 2011 Откуда: Москва
Помог: 221 раз(а)
eos12 пишет:
int(1)
Команда завершается с ошибкой. (Добавление)
Файлы существуют?
Как указываете путь?
Кто владелец директории куда пишется файл и от чьего имени выполняется команда ?
Покинул форум
Сообщений всего: 7
Дата рег-ции: Июль 2016
Помог: 0 раз(а)
Команда завершается с ошибкой.
-- я не сомневаюсь в этом )))
Файлы существуют?
Как указываете путь?
Кто владелец директории куда пишется файл и от чьего имени выполняется команда ?
про whoami я писал уже - не работает через exec. Как достоверно узнать под кем выполняется php из по апача?
top показывает, что apache крутится из под www-data.
жирное выделение копирую в консоль - делается 1.csv. (Добавление)
Народ, кто-нибудь может подсказать в чем принципиальное отличие LS и WHOAMI?
Почему первая отрабатывается через exec, а вторая нет!!!???
Еще раз выскажу предположение, что косяки whoami и xlsx2csv имеют общие корни. Но WHOAMI есть у всех, что нельзя сказать про xlsx2csv
armancho7777777
Отправлено: 04 Июля, 2016 - 12:53:48
Активный участник
Покинул форум
Сообщений всего: 4526
Дата рег-ции: Февр. 2011 Откуда: Москва
Помог: 221 раз(а)
В логи загляните.
eos12
Отправлено: 04 Июля, 2016 - 17:32:27
Новичок
Покинул форум
Сообщений всего: 7
Дата рег-ции: Июль 2016
Помог: 0 раз(а)
что-то я этого никогда не делал ))
в error.log ничего нет
а в auth.log есть
Jul 2 12:27:07 Debian-82-jessie-64-LAMP sudo: pam_unix(sudo:auth): conversation failed
Jul 2 12:27:07 Debian-82-jessie-64-LAMP sudo: pam_unix(sudo:auth): auth could not identify password for [www-data]
Jul 2 12:27:07 Debian-82-jessie-64-LAMP sudo: www-data : user NOT in sudoers ; TTY=unknown ; PWD=/var/www/rtt.priv ; USER=root ; COMMAND=/usr/bin/xlsx2csv /var/tst/files/1.xlsx /var/tst/files/1.csv
понимаю что собака порылась именно здесь, но нихрена не понимаю.
Для проверки добавил www-data в sudorers - тот же результат.
В логи посмотреть не могу - они похоже с запозданием сбрасываются на диск(самые свежие от вчерашнего числа).
чо делать то?
armancho7777777
Отправлено: 04 Июля, 2016 - 23:21:51
Активный участник
Покинул форум
Сообщений всего: 4526
Дата рег-ции: Февр. 2011 Откуда: Москва
Помог: 221 раз(а)
Я имел в виду логи утилиты этой, если они есть.
Можно ещё глянуть в /var/log/syslog
eos12
Отправлено: 05 Июля, 2016 - 15:07:26
Новичок
Покинул форум
Сообщений всего: 7
Дата рег-ции: Июль 2016
Помог: 0 раз(а)
armancho7777777 пишет:
Я имел в виду логи утилиты этой, если они есть.
Можно ещё глянуть в /var/log/syslog
Я по всему диску шарил - нет вхождений кроме этих. И эти относятся похоже к тому периоду, когда я разрешения на папку 777 еще не выставил.
я так понял, что кроме общего совета посмотреть логи (или еще что-нибудь) других идей нет?
я не шарю в дебиан, но мне кажется, что проблема в чем-то банальном. Учитывая, что штатная утилита whoami глючит.
armancho7777777
Отправлено: 05 Июля, 2016 - 17:51:08
Активный участник
Покинул форум
Сообщений всего: 4526
Дата рег-ции: Февр. 2011 Откуда: Москва
Помог: 221 раз(а)
eos12 пишет:
я так понял, что кроме общего совета посмотреть логи (или еще что-нибудь) других идей нет?
Ну так это потому, что - пальцем в небо )
Вы же за консолью сидите, а не я ) (Добавление)
По любому есть какие-нибудь логи.
Пройдитесь grep-ом.
Все гости форума могут просматривать этот раздел. Только зарегистрированные пользователи могут создавать новые темы в этом разделе. Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.