Php 为什么不转换非ascii图纸标题的XLSX文件?[CentOS x64]

Php 为什么不转换非ascii图纸标题的XLSX文件?[CentOS x64],php,excel,csv,xlsx,csvkit,Php,Excel,Csv,Xlsx,Csvkit,我的问题是,我有一个Excel XLSX文件,文件名为非ascii表名(CharStyleббббччч),我正试图使用In2CVSV工具将其转换为CSV。我使用exec函数从PHP运行它 在我的本地机器(Windows10x64)上运行正常。我试图在CSNTOSx64VDS上运行它,当我从终端启动我的PHP脚本(它使用exec调用in2cv工具)时,它也可以正常工作。但是,当我从cron(php-f./task.php)运行它时,它不会产生错误,但是生成的CSV文件是空的 我做了一些测试,检查

我的问题是,我有一个Excel XLSX文件,文件名为非ascii表名(
CharStyleббббччч
),我正试图使用In2CVSV工具将其转换为CSV。我使用
exec
函数从PHP运行它

在我的本地机器(Windows10x64)上运行正常。我试图在CSNTOSx64VDS上运行它,当我从终端启动我的PHP脚本(它使用
exec
调用in2cv工具)时,它也可以正常工作。但是,当我从cron(
php-f./task.php
)运行它时,它不会产生错误,但是生成的CSV文件是空的

我做了一些测试,检查运行PHP脚本、python默认编码的用户和组,但仍然没有任何线索。请帮忙

以下是转换文件的命令:

in2csv --locale ru_RU --sheet "Общий отчет" --encoding windows-1251 "prices.xlsx" > "prices.csv"

我终于明白了

PHP的
exec
函数中的命令应如下所示:

exec('/usr/bin/in2csv --locale ru_RU --sheet "Общий отчет" --encoding windows-1251 "/home/admin/www/html/prices.xlsx" > "/home/admin/www/html/prices.csv"');
/usr/bin/php -f /home/admin/www/html/task.php
cron命令应该如下所示:

exec('/usr/bin/in2csv --locale ru_RU --sheet "Общий отчет" --encoding windows-1251 "/home/admin/www/html/prices.xlsx" > "/home/admin/www/html/prices.csv"');
/usr/bin/php -f /home/admin/www/html/task.php
也就是说,您需要提供所有可执行文件的完整路径,这将在terminal和Cron中都起作用