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 testricevo 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 testnon 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,/pathopzione 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 --prefixe utilizzare il percorso di ritorno come --with-prec-refexargomento.
--with-pcre-regexe vedere se funziona.
--with-pcre-regex=shared,/usr. Potrebbe essere necessariomake cleanprima.