Sto cercando di aggiornare PHP sul mio Mac. Ho scaricato PHP 5.4.14 e non ho problemi con il comando di configurazione:
./configure \ --prefix = / usr \ --mandir = / usr / share / man \ --infodir = / usr / share / info \ --sysconfdir = / private / etc \ --with-apxs2 = / usr / sbin / apxs \ --enable-cli \ --with-config-file-path = / etc \ --with-libxml-dir = / usr \ --with-openssl = / usr \ --with-kerberos = / usr \ --with-zlib = / usr \ --enable-bcmath \ --with-bz2 = / usr \ --enable-calendar \ --with-curl = / usr \ --enable-dba \ --enable-exif \ --enable-ftp \ --with-gd \ --with-freetype-dir = / usr / X11 \ --with-jpeg-dir = / BinaryCache / apache_mod_php / apache_mod_php-66.6 ~ 1 / Root / usr / local \ --with-png-dir = / usr / X11 \ --enable-gd-native-ttf \ --with-icu-dir = / usr \ --with-iodbc = / usr \ --with-ldap = / usr \ --with-ldap-sasl = / usr \ --with-libedit = / usr \ --enable-mbstring \ --enable-mbregex \ --with-mysql = mysqlnd \ --with-mysqli = mysqlnd \ --senza-pera \ --with-pdo-mysql = mysqlnd \ --with-mysql-sock = / var / mysql / mysql.sock \ --with-readline = / usr \ --enable-shmop \ --with-snmp = / usr \ --enable-soap \ --enable-sockets \ --enable-sysvmsg \ --enable-sysvsem \ --enable-sysvshm \ --with-riordinato \ --enable-wddx \ --with-xmlrpc \ --without-iconv \ --with-xsl = / usr \ --enable-zip \ --with-pcre-regex = / usr \ --with-pgsql = / usr \ --with-PDO-pgsql = / usr
Quando lo faccio, make test
ricevo una lunga serie di cose con quanto segue alla fine:
Simboli non definiti per l'architettura x86_64: "_php_pcre_compile", referenziato da: _pcre_get_compiled_regex_cache in php_pcre.o "_php_pcre_exec", referenziato da: _php_pcre_grep_impl in php_pcre.o _php_pcre_replace_impl in php_pcre.o _php_pcre_match_impl in php_pcre.o _php_pcre_split_impl in php_pcre.o _check_fmt in softmagic.o _php_filter_validate_email in logical_filters.o _php_filter_validate_regexp in logical_filters.o ... "_php_pcre_free", referenziato da: _php_pcre_match_impl in php_pcre.o "_php_pcre_fullinfo", referenziato da: _pcre_get_compiled_regex_cache in php_pcre.o _php_pcre_grep_impl in php_pcre.o _make_subpats_table in php_pcre.o _php_pcre_replace_impl in php_pcre.o _php_pcre_match_impl in php_pcre.o _php_pcre_split_impl in php_pcre.o "_php_pcre_get_substring_list", referenziato da: _php_pcre_match_impl in php_pcre.o "_php_pcre_maketables", referenziato da: _pcre_get_compiled_regex_cache in php_pcre.o "_php_pcre_study", referenziato da: _pcre_get_compiled_regex_cache in php_pcre.o "_php_pcre_version", referenziato da: _zm_info_pcre in php_pcre.o _zm_startup_pcre in php_pcre.o ld: simbolo (i) non trovato per l'architettura x86_64 clang: errore: comando linker non riuscito con codice di uscita 1 (usare -v per vedere l'invocazione) make: *** [libs / libphp5.bundle] Errore 1
Ho aggiornato PCRE sul sistema alla versione 8.32 e lo richiedo a causa di alcune dipendenze zlib tra le altre cose e roba di espressione regolare perl generale. Sono in perdita sul perché il mio make test
non passerà.
Qualsiasi aiuto sarebbe apprezzato per risolvere questo problema.
checking for PCRE headers location... configure: error: Could not find pcre.h in shared,/usr
shared,/path
opzione consente alle estensioni di utilizzare la libreria preinstallata dei sistemi. Per PCRE, --with-prec-refex
my non è necessario in quanto PCRE è incluso in php-5.3 +. Dove è installato PCRE-8.32? È possibile individuarlo eseguendo pcre-config --prefix
e utilizzare il percorso di ritorno come --with-prec-refex
argomento.
--with-pcre-regex
e vedere se funziona.
--with-pcre-regex=shared,/usr
. Potrebbe essere necessariomake clean
prima.