J'essaye d'installer un paquet de PECL sur Linux, mais le programme d'installation ne dépasse jamais l'étape de configuration.Comment changer le dossier de construction Pear/PECL par défaut de/var/tmp?
Mon fournisseur d'hébergement monté un système de fichiers dans/var/tmp qui empêche les fichiers d'exécution, et qui est la cause de cette erreur:
[email protected] [/usr/local/apache/conf/includes]# pecl install pdo
downloading PDO-1.0.3.tgz ...
Starting to download PDO-1.0.3.tgz (52,613 bytes)
.............done: 52,613 bytes
12 source files, building
running: phpize
Configuring for:
PHP Api Version: 20041225
Zend Module Api No: 20060613
Zend Extension Api No: 220060519
building in /var/tmp/pear-build-root/PDO-1.0.3
running: /root/tmp/pear/PDO/configure
checking for egrep... grep -E
checking for a sed that does not truncate output... /bin/sed
checking for cc... cc
checking for C compiler default output file name... a.out
checking whether the C compiler works... configure: error: cannot run C compiled programs.
If you meant to cross compile, use `--host'.
See `config.log' for more details.
ERROR: `/root/tmp/pear/PDO/configure' failed
Je suis 99% sûr que le problème est que vous ne pouvez pas exécuter fichiers dans/var/tmp (j'ai copié un fichier exécutable ici et l'ai essayé pour vérifier). Je suis sûr que PECL peut être complété si je le fais faire son travail de construction ailleurs, mais je ne trouve pas le paramètre de configuration approprié. Comment pouvez-vous dire à PECL de construire dans un dossier autre que celui par défaut?
Montage/tmp (ou ce qui s'y rattache) comme noexec est un faux sentiment de sécurité. 'cd ~ &&/bin/sh -c/tmp/badcode'. .. trop d'hôtes embauchent des admins qui font tout ce que Google dit. –