Upgrading Native PHP Installasjon på OS X Mountain Lion
La oss se hvordan vi kan manuelt oppgradere native OS X 10.8 PHP installasjon til den nyeste versjonen (for tiden 5.4.5) og få litt annen nyttig programvare installert mens vi er i gang. * AMP pakker er praktisk, men sjelden up-to-date, så absorberer prosedyren avbildet i denne artikkelen er uvurderlig for alle PHP-utvikler.
The Theory of Building Fra kilde
Hvis du bare er interessert i det praktiske aspektet ved å installere PHP, gjerne hoppe over denne delen, men det kan være nyttig for deg senere å vite hvordan det faktisk fungerer og hvorfor enkelte kommandoer er nødvendig.
Hver installasjon av programvare fra kilden følger i utgangspunktet den samme kjeden av kommandoer: Last ned kildefilene, konfigurere gjøre, eventuelt test, installere
Konfigurer
"konfigurere". script forteller "gjøre" hva som kommer til å bli bygget. Henrettet ved å skrive "./configure", analyserer konfigurere skriptet avhengigheter, bekrefter du kjører et støttet OS, setter opp de nødvendige filene for den gitte OS og til slutt genererer en Makefile, som når "gjør" kalles, dikterer hvordan og hva skal bygges.
"konfigurere" forteller "gjøre" hva som kommer til å bli bygget
Hvis configure skriptet oppdager mangler avhengigheter eller feil, utfører det en avkjørsel og stopper utførelsen, slik at brukeren å fjerne eller omgå eventuelle hindringer før du fortsetter. Den konfigurere kommandoen kommer alltid først når du bygger fra kilden.
Gjør
Neste, "lage" bygger hva konfigurere fortalt at det å bygge. "Gjør" er initialisert ved å skrive "gjøre", og er faktisk en GNU verktøy som vanligvis brukes til å opprettholde et sett med filer og rekompilere dem om nødvendig.
"lage" bygger hva konfigurere fortalt det til å bygge
Å funksjon, krever det en Makefile - en fil der sine direktiver er beskrevet og relasjoner mellom filene i spørsmålet er notert. Når løpe, make kommandoen leser Makefile og utfører oppgavene.
"make test" kommandoen kjører make kommandoen, men også tester samling mot en test mål. Ikke alle kilde distribusjoner støtter "make test", så med mindre eksplisitt spesifisert i dokumentasjonen av installasjon av programvare som installeres, er en å bruke den vanlige "gjøre".
"Lag test" kommandoen kjører make kommandoen men også tester samling mot en test mål.
"sudo make install" installerer filer som "gjør" innebygd i forhåndsdefinerte mapper. Den håndterer alle inneslutninger, oppdateringer og løser stier og flytter alt til der den skal være. Effektivt, avslutter den installasjonen og brukeren vanligvis ikke trenger å gjøre noe annet
Dette er faktisk akkurat hva Homebrew -. Pakkebehandleren vi installerer i neste avsnitt - kan gjøre. Den kan utføre den samme strømnings, internt. Du trenger egentlig ikke se noe av det direkte, men mer eller mindre den samme kjeden er henrettet, hvis "formelen" innsendt av "brygger" er laget på den måten.
Det gjør hele prosessen mindre klumpete ved å automatisk sjekke for avhengigheter og installere dem før du går inn på hovedsiden utpekt pakken. Deretter nedlastinger og unarchives det og utfører konfigurere, gjøre, make install kjeden å gjøre ferdig installasjonen
Nesten hver installasjon fra kilden følger de samme trinnene:. Nedlasting, konfigurere, lage, installere
<. h2> Homebrew
Fra Homebrew hjem
For installasjon av PHP til å gå så smidig som mulig, vi trenger å installere Homebrew, en pakkebehandler for OSX som kan håndtere en rekke installasjoner for deg - installasjoner som ellers krever komplekse bygge prosedyrer og kan ha kritiske avhengigheter som tar timer å løse.
Å ha Homebrew installert vil gagne deg i det lange løp.
Å ha Homebrew installert vil gagne deg i lange løp, ikke bare for hensikten med denne artikkelen. Det tilbyr en rask måte å installere vanlige biblioteker og programvare uten å måtte bygge fra kilden
å installere det, må vi gjøre følgende (hoppe over denne delen hvis du har Homebrew installert).
- Installer X11 herfra. Dette er også en Homebrew krav. Plukk den nyeste versjonen tilgjengelig, ikke nødvendigvis den som er knyttet til her
Installer Homebrew fra GitHub
Hvis du får problemer, må du kanskje gjøre følgende etter trinn 1 og 2:.. $ sudo Xcode-select bryterens /Applications/Xcode.app/Contents/Developer$ ln -s /opt /X11 /usr/X11..taken fra dette innlegget. Dette skjer på noen tilfeller av Mountain Lion eller annen grunn.
Når dette er gjort, kjører brygge lege og kontrollere at alt fungerer (i henhold til instruksjonene på Homebrew nettside).
PHP
Forutsigbart, installere PHP krever at du har visse bibliotek installert. Heldigvis er Homebrew her for å håndtere disse installasjonene for oss. Installer følgende:
brygge installere libjpegbrew installere pcrebrew installere libxml2brew installere mcryptNår dette er gjort, laste ned PHP kildefilene fra Php.net. Pakk ut arkivet, åpne terminal, og bytte til kildemappen (f.eks cd ~ /Downloads /php-5.4.5 /eller hvor enn du lastet ned kildene).
Hvis du planlegger å jobbe med Zend Framework 2 og ønsker å starte med prøve skjelettet programmet som laget av Rob "Akrabat" Allen, eller hvis du har tenkt å distribuere programmet i flere langauges, trenger du php-intl støtte. Å tillate konfigurere skript for å ta php-intl hensyn samtidig bygge Makefile, vi trenger å installere en annen avhengighet - ICU. Last ned dette fra ICU-Project.org og gjennomføre.
Tjære xzvf icu4c-4_8_1-src.tgzcd ICU /kilde /runConfigureICU MacOSXmakesudo make installDette håndteres alle grunnleggende avhengig PHP noensinne kunne ønske fra oss (for nå ). Vi kan nå endelig bygge og installere det
Installere
Først, mens i PHP dearkivert kilde mappe, utføre følgende konfigurere kommandoen. Anmeldelser ./configure \\ - prefix = /usr \\ - Mandir = /usr /share /mann \\ - infodir = /usr /share /info \\ - sysconfdir = /private /etc \\ - med-apxs2 = /usr /sbin /apxs \\ - enable-cli \\ - med-config-fil-path = /etc \\ - med-libxml-dir = /usr \\ - med-OpenSSL = /usr \\ - med-Kerberos = /usr \\ - med-zlib = /usr \\ - enable-bcmath \\ - med-bz2 = /usr \\ - enable-kalender \\ - med-curl = /usr \\ - enable-dba \\ - enable-exif \\ - enable-ftp \\ --with-gd \\ - enable-gd-innfødte TTF \\ - med-ICU-dir = /usr \\ - med-iodbc = /usr \\ - med-ldap = /usr \\ - med-ldap -sasl = /usr \\ - med-libedit = /usr \\ - enable-mbstring \\ - enable-mbregex \\ - med-mysql = mysqlnd \\ - med-mysqli = mysqlnd \\ - uten-pære \\ - -med-PUD-mysql = mysqlnd \\ - med-mysql-sokk = /var /mysql /mysql.sock \\ - med-readline = /usr \\ - enable-shmop \\ - med-snmp = /usr \\ enable-såpe \\ - enable-sockets \\ - enable-sysvmsg \\ - enable-SYSVSEM \\ - enable-SYSVSHM \\ - med-ryddig \\ - enable-wddx \\ - med-xmlrpc \\ - med-iconv-dir = /usr \\ - med-xsl = /usr \\ - enable-zip \\ - med-imap = /usr /local /imap-2007 \\ - med-Kerberos \\ - med-imap -ssl \\ - enable-intl \\ - med-pcre-regex \\ - med-pgsql = /usr \\ - med-PUD-pgsql = /usr \\ - med-Freetype-dir = /usr /X11 \\ --with-jpeg-dir = /usr \\ - med-png-dir = /usr /X11
Når dette er gjort, utføre
$ gjøre test"make test" runs gjør og tester samlinger for feil
Som nevnt i avsnittet om Build Theory, går dette gjøre og tester kompilering. Dette kan ta en stund, opp til 30 minutter, fordi hver eneste fasett av PHP blir testet. Når du er ferdig, hvis PHP funnet noen feil (og det sannsynligvis vil) rapportere dem til utviklerne ved å følge instruksjonene på skjermen. Ikke bekymre deg, alt er fortsatt fine - de feilene som blir funnet er vanligvis mindre enn viktig
Som du kan se, noen 11503 tester skal utføres.. Dette vil ta litt tid.Hvis du har den originale PHP allerede er aktivert og konfigurert, ta en sikkerhetskopi av php.ini filen nå. Det bør være i /etc/php.ini
Til slutt kjører du følgende for å faktisk installere PHP.
$ Sudo make installDet er best å ikke overskrive den nye php.ini fil med din gamle hvis du har gjort en backup. I stedet kopiere verdiene du trenger manuelt, for å holde på den sikre siden -. På den måten vi sørge for at den nye php.ini filen er fullt kompatibel med den nylig installerte versjonen
Apache konfigurasjonen AnmeldelserNesten ferdig! Hvis du allerede hadde aktivert PHP på maskinen før dette, og det eneste formålet med å lese denne artikkelen ble faktisk oppgradering av eksisterende PHP, så er du ferdig -. Alt skal fungere
Hvis ikke, men vi trenger å Aktiver PHP i OSX native Apache installasjon. Siden httpd.conf filen vil trolig være på standardplasseringen, åpner du den via Terminal i TextEdit som så:
$ SUDO_EDITOR = "open -FWne" sudo -e /etc/apache2/httpd.confI am bruke sudo REDAKTØR kommandoen her for å åpne filen i TextEdit, rett og slett fordi jeg anser det mye enklere å redigere filer i enn Vim eller Nano. Jeg kunne like godt ha brukt "$ sudo vim /ect/apache2/httpd.conf" for å redigere den i vim
Deretter Uncomment følgende linjer (de er ikke ved siden av hverandre -. Bruke Finn kommando for å finne dem)
LoadModule php5_module libexec /apache2 /libphp5.soInclude /private/etc/apache2/extra/httpd-vhosts.confThe første linje aktiverer bruk av PHP som en Apache-modul. Den andre linjen er det slik at hoved httpd.conf (Apache konfigurasjon) fil høster de virtuelle vertene fra vhosts filen og sparer oss bryet med overdreven redigering i altfor sensitiv httpd.conf. Dette har den ekstra fordelen av å la deg lagre en vhosts fil et sted utenfor /etc, og støtte den opp for andre utviklings maskiner eller reinstallations.
En meget praktisk tilnærming til dette er vert det på en sky tjeneste som Google Drive eller Dropbox og linke til den direkte fra httpd.conf. På den måten når du legger til en ny virtuell host, det blir automatisk installert på hver og en av dine maskiner like fort som du starter den lokale Apache server.
Legge til en vhost og Wrapping Up
En virtuell host er et lokalt vertskap imaginær domene. Den lar utgangspunktet du teste ut dine prosjekter i nettleseren ved å angi ulike nettadresser. For eksempel, på min maskin, kunne jeg besøke http: //mactuts.tutorial og se Hello World app denne seksjonene ender med, eller jeg kunne besøke http://mw.dev å se utviklingen versjon av et prosjekt jeg er jobber med. Ganske enkelt, utløser en annen URL en annen kilde mappe og åpner et annet prosjekt som en nettside. Her er en rask guide på hvordan du legger til en vhost - hvis du har vhosts satt opp allerede, eller forstå alt om dem, kan du gjerne hoppe over denne delen
Trinn 1:. Redigere hosts-filen
Først vil vi nevne vårt utvalg vhost "mactuts.tutorial". For å gjøre dette, legg til en oppføring i /etc /hosts som ser ut som dette:
127.0.0.1 mactuts.tutorialDette betyr tilgang til url http: //mactuts.tutorial i nettleseren vil gå til 127.0.0.1 .: 80, eller med andre ord, til port 80 av våre lokale server (Apache)
Dette er et eksempel hosts. Merker jeg har også noen andre virtuelle verter satt opp på denne maskinen
Trinn 2: Legg til en Apache vhost
Deretter legger du til en blokk i etc /apache2 /ekstra /httpd-vhosts.conf som ser omtrent slik ut dette:
< virtuellverten *: 80 > Server mactuts.tutorial Document "/Users /{BRUKERNAVN} /nettsteder /mactuts" Server [email protected]~~number=plural < Directory "/Users /{BRUKERNAVN} /Nettsteder /mactuts" > Alternativer avskriftene FollowSymLinks AllowOverride All Bestill tillate, nekte Tillate fra alle < /Directory > < /virtuellverten >Erstatt {BRUKERNAVN} med ditt eget brukernavn, uten klammeparentes. Dette forteller Apache følgende: Hvis du har noe på port 80, sjekk den opprinnelige url navn. Hvis det er mactuts.tutorial, deretter sette opp alle disse alternativene
Trinn 3:. Restart Apache
Deretter starte Apache med
$ sudo apachectl restart
Trinn 4: Lag Index File
3) Lag en mappe "/Users /{BRUKERNAVN} /nettsteder /mactuts" (naturligvis, erstatte {username} med OSX brukerens navn) og legger inn en index.php fil inn i det med den følgende innhold:?
< php echo 'Hello world'; ? >
Steg 5: Sjekk det ut
Gå til http: //mactuts.tutorial. Du skal se "Hello World"
Alternativer
Nylig, et alternativ til denne tilnærmingen dukket opp - installerer PHP gjennom Homebrew selv. Problemet er, det finnes ingen offisielle kanaler på tidspunktet for dette skriftlig (tidlig i august 2012) så et alternativ springen må aktiveres for Homebrew.
Også OS X versjonen jeg testet dette på, Mountain Lion dessverre ikke klarte å installere den måten og kastet vage feil på meg som jeg ikke kunne løse. Hvis du føler eventyrlystne sjekk dette innlegget ut og prøve å endre det i henhold til din egen OS og ønsket PHP versjon.
Et mer stabilt alternativ synes å være tilgjengelig her, men tilbakemeldingene er slapp og det er ikke mye å gå på, så jeg skal la disse metodene opp til eksperimentering av leserne.
Oppdateringer
Her er noen alternativer foreslått av kommentatorer siden innlegget ble publisert.
php_osx
Et annet alternativ (tilsynelatende glatt arbeidende) til dette ble brakt til min oppmerksomhet ved bemerket DaftViking og inkluderer installere PHP via php_osx.
Macports
Selv om jeg oppfordrer utfasing av Macports i favør av Homebrew, synes det Macports lagt en stabilisert versjon av PHP også, så det kan gi en annen arbeider alternativ. Jeg har personlig ikke testet denne tilnærmingen, men for de dyktigere med Macports, kan ytterligere informasjon finnes her. Takk til Redditor nemeth88 for heads up!
Konklusjon
OS X kommer med et forhåndsinstallert PHP og Apache-konfigurasjonen. Dessverre, PHP versjon at den kommer med er alvorlig utdatert, og det aldri oppdaterer unntatt når en ny OS-versjon blir installert. Da den nye PHP versjon inkludert er allerede utdatert, så i tillegg til å hente en * AMP (Apache /MySQL /PHP) pakken (som sjelden, om noensinne, har up-to-date versjoner av PHP), hva kan man gjøre bortsett oppdatere den manuelt?
I denne opplæringen vi har dekket det grunnleggende om å bygge fra kilden, vi har bygget en ny up-to-date versjon av PHP og installert det, og vi har selv installert Homebrew som vil gjøre ytterligere installasjoner av programvare og biblioteker super enkelt. Vi dekket også etablering av en virtuell vert og testet vår installasjon for å sikre at det fungerer. Jeg håper du har hatt glede av det, og at alt fungerte som planlagt. Hvis du får problemer, gjerne legge inn kommentarer, og vi skal jobbe gjennom problemene sammen. Anmeldelser
Previous:Gi din Mac en Voice med Text
Installer XCode via App Store. Når programmet er installert, må du installere Command Line Tools gjennom XCode app selv, eller last ned og installer fra http://developers.apple.com. Vi trenger XCode og CLT fordi Homebrew krever dem.