10
votes

Alterner à la fonction PHP Exec ()

J'utilise actuellement: xxx pré>

pour décompresser un fichier .z code> fichier mais malheureusement, ma société d'hébergement a maintenant désactivé cette fonction. P>

Y a-t-il une solution de contournement? P>

$pathtofile = "filename.lis.Z";
exec("zcat $pathtofile", $output);


7 commentaires

Malheureusement, le compresse format .z n'est pas compris par zlib même, donc phps gzuncompress () ne fonctionnera pas. Si vous ne pouvez plus utiliser EXEC plus, vous devez adapter vos sources de fichiers. Utilisez gzip à partir de maintenant.


Malheureusement, les fichiers que je recherchent sont en format .z. Sauf s'il y a une manière automatique de la convertir au format GZIP, je dois rester au format .z. Connaissez-vous un hôte qui permet à EXEC ()?


Eh bien, pratiquement toute hébergeur professionnelle utilise Souexec plutôt que la solution de contournement Safemode. Notez que votre zcat était une version spéciale avec le support .z; Vous devrez peut-être réinstaller que ou utilisez raquette-c $ FileName plutôt. N'oubliez pas non plus escapeshellarg () ici.


Je n'ai pas utilisé escapeshellarg () mais PHP.NET Fichier d'aide dit "Échapper une chaîne à utiliser comme argument de coque", mais le problème est que je pense que pour l'utiliser, j'ai toujours besoin de système () ou d'exécuté () mais mon L'hébergement a bloqué les deux. Connaissez-vous un service fourni qui pourrait ne pas me donner de tels cauchemars?


@Mario Comment utiliser SUEXEC? Ma compagnie d'hébergement m'a dit qu'ils ont installé Souexec mais je ne peux pas toujours utiliser EXED (), vous vous demandez alors comment ça marche maintenant?


N'a rien fait à l'autre (SUEXEC est un paramètre de serveur, pas une fonction PHP). Changer votre hébergeur.


Endiguer! Je ne trouve pas d'hôte qui offre EXEC () J'ai essayé à la recherche d'un même sur Google, mais pas de succès jusqu'à présent


3 Réponses :


3
votes
system("zcat $filename", $output);

5 commentaires

Je peux presque parier qu'ils ont bloqué cela et passhru () aussi


Je suis sûr qu'ils ont fait trop lol, je viens de jeter des méthodes alternatives


ils ont désactivé le système () aussi


YEA FIGURES, vous devez les appeler et expliquer votre situation. S'ils ne sont pas intéressés à ré-configurer quoi que ce soit pour vous, vous devez changer d'hôte.


Eh bien, j'ai essayé de les appeler et je n'ai pas aidé puisqu'ils ne sont pas intéressés à reconfigurer. Toute recommandation sur laquelle l'hôte pourrait autoriser avec EXED ()?



12
votes

faire ce xxx

pour savoir si vous êtes capable d'utiliser l'un des éléments suivants:

système (); exec (); PassThru (); shell_exec ();

mais s'il s'agit d'un hébergement partagé, tout ce qui précède est certainement bloqué et que vous devrez trouver une alternative


1 commentaires

Show_source, System, Shell_Exec, PassThru, EXEC, POPEN, PROC_OPEN, CHMOD, MKDIR, CHDIR, ABOND_URL_FOPEN, RMDIR



5
votes

.z Les fichiers sont compression LZW . Si vous ne pouvez pas exécuter les commandes Shell sur votre hôte, vous pouvez utiliser une bibliothèque PHP LZW. Voici deux:


0 commentaires