Solution à l'erreur d'exécution php : changez d'abord l'utilisateur du fichier en utilisateur php ; puis modifiez le contenu de "exec()" en "exec('7za x /home/www/test/filename.csv .7z -r -o./report/sogou/');" c'est tout.
Recommandé : "Tutoriel vidéo PHP"
Exécuter les problèmes rencontrés dans PHP Pit ( Fosse d'autorisation Linux
今天在使用php中的exec()命令,下载搜狗推广数据报表压缩包,解压的时候遇到一个坑,搜狗给了一个链接,在浏览器访问的时候直接下载的是.zip的压缩包,于是使用
Le résultat est une erreur : la décompression a échoué, je suis donc allé au terminal shell pour utiliser la commande pour décompresser et j'ai toujours eu une erreur comme indiqué :
J'ai demandé au fonctionnement et à la maintenance et ils ont dit que le format de fichier n'était pas au format zip. Après avoir essayé diverses commandes de décompression, il s'est avéré qu'il s'agissait d'un format .7z. paquet compressé. Il faut dire que Sogou est un peu délicat
Comme l'outil de décompression sous Windows est intégré au format 7z, aucune erreur n'est signalée lors de la décompression sous Windows :
Maintenant que le problème est trouvé, il est résolu (Remarque : il n'y a pas de p7zip sur centos par défaut et doit être installé (yum install -y p7zip);
Puis modifiez l'exec() ci-dessus comme suit :
//下载压缩包 exec("wget -O /home/www/test/filename.zip 'sougou_url'");//注意url要用单引号包含住 //解压 exec('unzip -o /home/www/test/filename.zip);
N'oubliez pas les autorisations utilisateur du fichier, car I L'utilisateur root est utilisé dans le terminal. Après avoir modifié les autorisations du fichier, le programme signalera une erreur lors de l'exécution de exec. utiliser le fichier. En effet, l'utilisateur auquel appartient php n'est pas root. Il vous suffit de changer l'utilisateur du fichier en utilisateur php
.Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!