La configuration de MAMP PEAR pointe vers les répertoires locaux
j'utilise MAMP 2.0.5 et J'ai un problème de mise à niveau PEAR
le problème est que PEAR est toujours installé dans le répertoire "local" de PEAR au lieu du répertoire "MAMP PEAR".
Mon MAMP POIRE configuration est la suivante:
sudo /Applications/MAMP/bin/php/php5.3.6/bin/pear config-show
Configuration (channel pear.php.net):
=====================================
Auto-discover new Channels auto_discover 1
Default Channel default_channel pear.php.net
HTTP Proxy Server Address http_proxy <not set>
PEAR server [DEPRECATED] master_server pear.php.net
Default Channel Mirror preferred_mirror pear.php.net
Remote Configuration File remote_config <not set>
PEAR executables directory bin_dir /usr/local/bin
PEAR documentation directory doc_dir /usr/local/docs
PHP extension directory ext_dir /Applications/MAMP/bin/php/php5.3.6/lib/php/extensions/no-debug-non-zts-20060613
PEAR directory php_dir /usr/local/share/pear
PEAR Installer cache directory cache_dir /tmp/pear/cache
PEAR configuration file cfg_dir /usr/local/cfg
directory
PEAR data directory data_dir /usr/local/data
PEAR Installer download download_dir /tmp/pear/install
directory
PHP CLI/CGI binary php_bin /Applications/MAMP/bin/php/php5.3.6/bin/php
php.ini location php_ini <not set>
--program-prefix passed to php_prefix <not set>
PHP's ./configure
--program-suffix passed to php_suffix <not set>
PHP's ./configure
PEAR Installer temp directory temp_dir /tmp/pear/install
PEAR test directory test_dir /usr/local/tests
PEAR www files directory www_dir /usr/local/www
Cache TimeToLive cache_ttl 3600
Preferred Package State preferred_state stable
Unix file mask umask 22
Debug Log Level verbose 1
PEAR password (for password <not set>
maintainers)
Signature Handling Program sig_bin /usr/local/bin/gpg
Signature Key Directory sig_keydir /Applications/MAMP/conf/php/php5.3.6/pearkeys
Signature Key Id sig_keyid <not set>
Package Signature Type sig_type gpg
PEAR username (for username <not set>
maintainers)
User Configuration File Filename /Users/udos/.pearrc
System Configuration File Filename /Applications/MAMP/bin/php/php5.3.6/conf/pear.conf
ma question (s):
- Est il est correct que MAMP utilise des répertoires "locaux" pour installer PEAR?
- Quelqu'un pourrait-il indiquer à quoi devrait ressembler une configuration" correcte " du MAMP PEAR?
quelques suggestions comment corriger?
mise à Jour (1):
d'abord je suis passé à MAMP bin dir
cd /Applications/MAMP/bin/php/php5.3.6/bin/
vérifié le contenu du répertoire
ls -al
total 56080
drwxr-xr-x 10 udos admin 340 Dec 26 11:40 .
drwxr-xr-x 7 udos admin 238 Dec 10 14:09 ..
-rwxr-xr-x 1 udos admin 924 Dec 26 11:40 pear
-rwxr-xr-x 1 udos admin 945 Dec 26 11:40 peardev
-rwxr-xr-x 1 udos admin 861 Dec 26 11:40 pecl
-rwxr-xr-x 1 udos admin 14821 Dec 26 11:40 phar
-rwxr-xr-x 1 udos admin 14821 Dec 26 11:40 phar.phar
-rwxr-xr-x 1 udos admin 28652364 Dec 26 11:40 php
-rwxr-xr-x 1 udos admin 3892 Dec 26 11:40 php-config
-rwxr-xr-x 1 udos admin 4582 Dec 26 11:40 phpize
après avoir appliqué les changements selon willems réponse ma configuration ressemble à ceci
./pear config-show
Configuration (channel pear.php.net):
=====================================
Auto-discover new Channels auto_discover 1
Default Channel default_channel pear.php.net
HTTP Proxy Server Address http_proxy <not set>
PEAR server [DEPRECATED] master_server pear.php.net
Default Channel Mirror preferred_mirror pear.php.net
Remote Configuration File remote_config <not set>
PEAR executables directory bin_dir /usr/local/bin
PEAR documentation directory doc_dir /Applications/MAMP/bin/php/php5.3.6/lib/php/doc/
PHP extension directory ext_dir /Applications/MAMP/bin/php/php5.3.6/lib/php/extensions/no-debug-non-zts-20060613
PEAR directory php_dir /Applications/MAMP/bin/php/php5.3.6/lib/php/
PEAR Installer cache directory cache_dir /tmp/pear/cache
PEAR configuration file cfg_dir /Applications/MAMP/bin/php/php5.3.6/lib/php/cfg
directory
PEAR data directory data_dir /Applications/MAMP/bin/php/php5.3.6/lib/php/data/
PEAR Installer download download_dir /tmp/pear/install
directory
PHP CLI/CGI binary php_bin /Applications/MAMP/bin/php/php5.3.6/bin/php
php.ini location php_ini <not set>
--program-prefix passed to php_prefix <not set>
PHP's ./configure
--program-suffix passed to php_suffix <not set>
PHP's ./configure
PEAR Installer temp directory temp_dir /tmp/pear/install
PEAR test directory test_dir /Applications/MAMP/bin/php/php5.3.6/lib/php/test/
PEAR www files directory www_dir /Applications/MAMP/bin/php/php5.3.6/lib/php/www
Cache TimeToLive cache_ttl 3600
Preferred Package State preferred_state stable
Unix file mask umask 22
Debug Log Level verbose 1
PEAR password (for password <not set>
maintainers)
Signature Handling Program sig_bin /usr/local/bin/gpg
Signature Key Directory sig_keydir /Applications/MAMP/conf/php/php5.3.6/pearkeys
Signature Key Id sig_keyid <not set>
Package Signature Type sig_type gpg
PEAR username (for username <not set>
maintainers)
User Configuration File Filename /Users/udos/.pearrc
System Configuration File Filename /Applications/MAMP/bin/php/php5.3.6/conf/pear.conf
running
./pear upgrade --force
mises à jour de POIRE contient les éléments suivants:
downloading Archive_Tar-1.3.8.tgz ...
Starting to download Archive_Tar-1.3.8.tgz (17,995 bytes)
......done: 17,995 bytes
downloading Console_Getopt-1.3.1.tgz ...
Starting to download Console_Getopt-1.3.1.tgz (4,471 bytes)
...done: 4,471 bytes
downloading PEAR-1.9.4.tgz ...
Starting to download PEAR-1.9.4.tgz (296,332 bytes)
...done: 296,332 bytes
downloading Structures_Graph-1.0.4.tgz ...
Starting to download Structures_Graph-1.0.4.tgz (30,318 bytes)
...done: 30,318 bytes
downloading XML_Util-1.2.1.tgz ...
Starting to download XML_Util-1.2.1.tgz (17,729 bytes)
...done: 17,729 bytes
upgrade ok: channel://pear.php.net/Archive_Tar-1.3.8
upgrade ok: channel://pear.php.net/Console_Getopt-1.3.1
upgrade ok: channel://pear.php.net/Structures_Graph-1.0.4
upgrade ok: channel://pear.php.net/XML_Util-1.2.1
upgrade ok: channel://pear.php.net/PEAR-1.9.4
PEAR: Optional feature webinstaller available (PEAR's web-based installer)
PEAR: Optional feature gtkinstaller available (PEAR's PHP-GTK-based installer)
PEAR: Optional feature gtk2installer available (PEAR's PHP-GTK2-based installer)
PEAR: To install optional features use "pear install pear/PEAR#featurename"
vérifier la version PEAR génère l'erreur suivante
AirTime:bin udos$ ./pear version
-bash: ./pear: No such file or directory
cela avait l'air étrange, donc j'ai vérifié le contenu de bin dir
AirTime:bin udos$ ls -al
total 56056
drwxr-xr-x 7 udos admin 238 Dec 26 11:48 .
drwxr-xr-x 7 udos admin 238 Dec 10 14:09 ..
-rwxr-xr-x 1 udos admin 14821 Dec 26 11:40 phar
-rwxr-xr-x 1 udos admin 14821 Dec 26 11:40 phar.phar
-rwxr-xr-x 1 udos admin 28652364 Dec 26 11:40 php
-rwxr-xr-x 1 udos admin 3892 Dec 26 11:40 php-config
-rwxr-xr-x 1 udos admin 4582 Dec 26 11:40 phpize
certains fichiers sont manquants:
- poire
- peardev
- pecl
vérification
AirTime:bin udos$ which pear
/usr/local/bin/pear
révèle que PEAR a été installé localement (à nouveau)...
quelques idées comment réparer?
mise à Jour (2):
j'ai dû installer PEAR localement. Qui a résolu le problème.
4 réponses
j'ai creusé un peu et cela semble résoudre le problème de la version php:
sudo /Applications/MAMP/bin/php/php5.3.6/bin/pear config-set php_dir /Applications/MAMP/bin/php/php5.3.6/lib/php/
sudo /Applications/MAMP/bin/php/php5.3.6/bin/pear config-set doc_dir /Applications/MAMP/bin/php/php5.3.6/lib/php/doc/
sudo /Applications/MAMP/bin/php/php5.3.6/bin/pear config-set data_dir /Applications/MAMP/bin/php/php5.3.6/lib/php/data/
sudo /Applications/MAMP/bin/php/php5.3.6/bin/pear config-set test_dir /Applications/MAMP/bin/php/php5.3.6/lib/php/test/
sudo /Applications/MAMP/bin/php/php5.3.6/bin/pear config-set www_dir /Applications/MAMP/bin/php/php5.3.6/lib/php/www
sudo mkdir /Applications/MAMP/bin/php/php5.3.6/lib/php/www
sudo /Applications/MAMP/bin/php/php5.3.6/bin/pear config-show
sudo /Applications/MAMP/bin/php/php5.3.6/bin/pear config-set cfg_dir /Applications/MAMP/bin/php/php5.3.6/lib/php/cfg
sudo mkdir /Applications/MAMP/bin/php/php5.3.6/lib/php/cfg
puis juste cd à /Applications/MAMP/bin/php/php5.3.6/bin
et lancer ./pear upgrade --force
cela définira tous les fichiers de configuration dans le .pearrc de votre répertoire personnel, n'ont pas cherché à les intégrer dans la poire.conf in MAMP..
> cd /Applications/MAMP/bin/php/php5.3.6/bin
> ./pear version
PEAR Version: 1.9.4
PHP Version: 5.3.6
Zend Engine Version: 2.3.0
Running on: Darwin willem.local 11.2.0 Darwin Kernel Version 11.2.0: Tue Aug 9 20:54:00 PDT 2011; root:xnu-1699.24.8~1/RELEASE_X86_64 x86_64
si quelqu'un a ce problème, après avoir eu le problème exact, ma solution était:
cd /usr
et créer une installation locale dans ce répertoire
$ wget http://pear.php.net/go-pear.phar
$ <MAMP PHP PATH> -d detect_unicode=0 go-pear.phar
vous pouvez utiliser Pear bundler:
il vous suffit d'exécuter:
$ onion.phar -d bundle
pour installer des paquets pear dans le répertoire local. (sans la permission de la racine)
pour MAMP 2.0.5 avec poire 1.9.2
j'ai eu le même problème et je pense que je suis tombé sur une solution plus facile ou au moins plus évidente après avoir creusé et la frustration.
utilisez la commande config-set de PEAR pour modifier les répertoires d'installation comme suit:
pear config-set bin_dir/Applications/MAMP/bin/php / php5.3.6 / bin
pear config-set docs_dir/Applications/MAMP/bin/php / php5.3.6 / lib. 151910920"
puis continuer sur la ligne en réassignant les chemins des répertoires locaux à L'installation MAMP.
Maintenant:
poire de mise à niveau --force POIRE
qui devrait vous donner une mise à niveau de votre poire MAMP à 1.9.4.
j'ai pris une route beaucoup plus alambiquée en essayant de faire travailler PHPUnit avec MAMP qui impliquait de transplanter l'installation manuellement et plus tard de réassigner les chemins de configuration, mais je pense que cette solution devrait être suffisant.