Rumah > pembangunan bahagian belakang > tutorial php > Persekitaran aplikasi php

Persekitaran aplikasi php

William Shakespeare
Lepaskan: 2025-02-15 12:43:12
asal
355 orang telah melayarinya

The PHP Application Environment

The PHP Application Environment Artikel ini dikutip dari buku baru -baru ini yang diterbitkan "Jump Start PHP Alam Sekitar", yang boleh didapati secara percuma oleh ahli SitePoint Premium. Versi kertas dan e-buku boleh didapati di kedai buku utama di seluruh dunia, dan anda juga boleh memesannya di sini. Semoga anda menikmati petikan ini dan mendapati ia berguna.

Kami akan memberi tumpuan kepada persekitaran aplikasi. Kami juga akan membincangkan *Bundle amp seperti XAMPP dan mengapa mereka adalah pilihan yang tidak baik;

mata utama

Memahami persekitaran aplikasi: Persekitaran aplikasi PHP terdiri daripada pelbagai peringkat, termasuk pembangunan, pengeluaran, dan pra-pelepasan, setiap peringkat adalah penting untuk kitaran hayat aplikasi.
    !
  • Konsistensi Pengeluaran dan Pembangunan: Mengekalkan konsistensi antara persekitaran pembangunan dan pengeluaran adalah penting untuk meminimumkan masalah penempatan dan memastikan tingkah laku yang konsisten pada kedua -dua platform.
  • Pengoptimuman dan penyahpepijatan prestasi: Pengoptimuman prestasi yang berkesan melibatkan pelbagai tahap, termasuk penalaan pangkalan data, penalaan depan dan pengoptimuman back-end, dan debugging adalah penting untuk mengekalkan kecekapan operasi.
  • Hos maya untuk ujian tempatan: Menggunakan tuan rumah maya membolehkan pemaju mensimulasikan persekitaran masa nyata pada mesin tempatan, menjadikannya lebih mudah untuk menguji dan membangun tanpa menggunakan Internet.
  • Kepentingan mesin maya: Mesin maya membantu mencapai konsistensi antara persekitaran pembangunan dan pengeluaran, yang membolehkan pemaju menjalankan tetapan yang sama pada sistem yang berbeza, dengan itu memudahkan proses pembangunan.
  • Persekitaran Aplikasi
Persekitaran aplikasi merujuk kepada persekitaran di mana aplikasi mungkin wujud pada pelbagai peringkat kitaran hayatnya: persekitaran pengeluaran, persekitaran pembangunan, dan persekitaran pra-pelepasan.

Persekitaran istilah merujuk kepada perkakasan dan perisian di sekitar aplikasi;

Persekitaran Pengeluaran

kita akan bermula dengan persekitaran yang paling mudah: persekitaran pengeluaran.

Apabila anda menggunakan aplikasi -dengan kata lain, muat naik ke pelayan dan menjadikannya secara terbuka dapat diakses oleh penonton sasaran -anda meletakkannya ke dalam

pengeluaran

atau

menggunakan

3 Persekitaran pengeluaran adalah destinasi utama untuk aplikasi anda dan tujuan kod anda. Dalam kitaran hayat aplikasi, persekitaran pengeluaran adalah pelayan masa nyata-komputer pelayan yang tetapannya membolehkan orang lain menyambung kepadanya dan melihat laman web anda. Pelayan langsung ini akan dikonfigurasikan untuk menyediakan aplikasi anda dengan cekap yang mungkin. Semua fail tambahan yang anda gunakan semasa proses pembangunan akan dikeluarkan dari aplikasi melalui proses yang dipanggil kompilasi atau binaan, yang akan dijelaskan lebih lanjut kemudian.

Dalam persekitaran pengeluaran, laman web anda dianggap sebagai masa nyata (atau digunakan) dan boleh diakses melalui nama domainnya sendiri; >. Ini bersamaan dengan masakan chef di restoran dan menyampaikan makanan kepada pelanggan yang mengarahkannya.

Persekitaran Pembangunan

Dalam persekitaran pembangunan, permohonan anda berada di bawah pembangunan aktif. Persekitaran pembangunan adalah komputer yang anda gunakan sebagai pemaju untuk membangunkan aplikasi, termasuk komputer semua ahli pasukan anda, sama ada mereka berhampiran dengan anda atau dari jauh. Harus diingat bahawa walaupun kedua -dua aspek ini dilindungi, persekitaran pembangunan merujuk lebih banyak kepada keadaan aplikasi anda

daripada lokasi fizikalnya - permohonan itu dalam status pembangunan.

Dalam persekitaran pembangunan, anda boleh menggunakan pelbagai alat -dari IDE (lihat Bab 2) ke perpustakaan ujian unit dan pembetulan standard, penyusun dan pembina, monitor fail, dan banyak lagi -apa sahaja yang anda perlukan untuk menyelesaikan sesuatu untuk berfungsi di tangan. Jika kita membandingkan aplikasi kami ke telefon pintar, kilang pemasangan yang menjadikannya persekitaran pembangunan. Persekitaran ini mengandungi semua komponen yang diperlukan -skrin, perumahan, bateri, pelbagai LED -dan setiap komponen diuji secara berasingan sebelum digunakan untuk membina unit telefon pintar. Ini dipanggil ujian unit - memastikan setiap unit berfungsi.

Untuk contoh ujian unit dalam pembangunan aplikasi, lihat bahagian bertajuk "Bagi mereka yang mahukan lebih banyak" pada akhir bab ini.

Untuk menggambarkan lebih lanjut metafora pemasangan telefon pintar, bateri yang diuji mungkin memerlukan aksesori pengecas yang berasingan, atau mungkin memerlukan lengan robot dengan jari sintetik untuk menguji skrin untuk memastikan kepekaan sentuhan skrin berfungsi dengan baik.

Semua tambahan ini wujud hanya semasa pembangunan. Tambahan ini dikeluarkan apabila anda menukar dari persekitaran pembangunan ke persekitaran pengeluaran (juga dikenali sebagai

penyebaran

). Untuk permohonan kami, ini bermakna kompilasi/membina langkah -langkah yang disebutkan di atas: pelbagai fail CSS dan JavaScript digabungkan dan dikurangkan untuk mengurangkan saiz laman web dan menjadikannya kelihatan lebih cepat apabila orang melawat; Dan pelbagai pengoptimuman lain berlaku (diperkenalkan kemudian dalam bab ini) - semua untuk memaksimumkan rayuan dan potensi produk akhir apabila diisytiharkan siap.

tuan rumah dan tuan rumah maya The PHP Application Environment URL tidak boleh diakses apabila anda sedang membangun pada komputer anda sendiri https://www.php.cn/link/2C70BF4DF3F4BFE23222222222222222222.

Ringkas dipaparkan dalam mesin.

seperti yang anda lihat, ini hampir sama dengan proses permintaan biasa untuk laman web secara langsung. Tetapi apa yang membuat penyemak imbas meminta nama domain mysite.com ke program pelayan komputer kita sendiri dan bukannya mencarinya di pelayan nama internet? Fail tuan rumah.

Fail host adalah fail khas yang wujud pada setiap sistem operasi. Kami secara ringkas menyebutnya dalam seksyen 1 bertajuk "Bagi mereka yang mahukan lebih banyak". Ia mengandungi senarai nama domain dan alamat IP yang sepadan supaya mana -mana pelayar di komputer anda boleh membacanya dan pergi terus ke alamat IP tanpa perlu berkomunikasi dengan DNS untuk memeriksa di mana anda mahu pergi. Pada Windows, fail itu terletak di C: WindowsSystem32DriveVersetchosts, pada mesin Linux dan Mac, ia terletak di /etc /hosts. Jika anda meletakkan pasangan IP-nama ke dalam fail ini, komputer akan mematuhinya. Kita boleh mencubanya sekarang. Jangan takut - tidak ada yang salah. Bersedia?

Pada Windows, masukkan medan carian, taipkan "Notepad", dan apabila ia muncul, klik kanan dan pilih "Run As Administrator". Anda kemudian akan diminta untuk mengesahkan. Dalam tetingkap yang dibuka, pilih "Fail" & gt; Di sudut kanan bawah tetingkap Notepad, anda mungkin mahu memilih "semua fail" untuk memaparkan fail hos. Klik dua kali untuk membukanya.

Pada mesin Linux/Mac, buka terminal dengan mencari.

Pada Linux , buka editor teks lalai sebagai pentadbir dengan menaip sudo gedit di terminal. Anda akan diminta memasukkan kata laluan pentadbir. pada OS X, masukkan sudo /applications/textedit.app/contents/macos/textedit, yang akan melaksanakan tugas yang sama. Dalam salah satu daripada kedua -dua editor ini, pergi ke "Fail" -> "Buka" dan masukkan direktori /etc untuk mencari fail tuan rumah. Klik dua kali untuk membukanya. Selepas membuka fail, perhatikan beberapa baris pertama: mereka semua bermula dengan simbol hash (#). Ini bermakna mereka adalah komen dan tidak mempunyai kesan ke atas fail. Ini digunakan untuk menerangkan fail kepada pengguna dan mereka juga hadir dalam PHP.

Sekarang, di bawah semua baris komen ini, tambahkan baris berikut:

Simpan fail dan buka http://bing.com dalam penyemak imbas anda. Anda baru sahaja berjaya mengalihkan semua permintaan ke Microsoft Search Engine Bing ke Google! Sudah tentu, kami tidak mahu menyimpan perubahan ini; Anda sepatutnya dapat melawat http://bing.com sekali lagi seperti biasa.
<code>208.117.229.217 bing.com</code>
Salin selepas log masuk

Menggunakan kaedah ini, kami kemudian mengalihkan semua permintaan penyemak imbas ke http://mysite.com (yang akan menjadi nama domain sampel aplikasi kami) ke pelayan komputer kami sendiri. Ini akan membolehkan kami dengan mudah menguji versi pembangunan laman web kami tanpa menggunakannya ke persekitaran masa nyata.

pra-pelepasan dan penyelenggaraan

Persekitaran pra-pelepasan adalah pelayan berasingan (atau pelayan berganda) yang mengandungi salinan persekitaran pengeluaran (juga dikenali sebagai cermin). Dalam syarikat kecil atau projek, persekitaran pra-pelepasan biasanya dilangkau. Ia direka untuk menjadi serupa dengan persekitaran pengeluaran yang mungkin, dengan pencocokan versi perisian yang dipasang, nilai konfigurasi adalah sama, dan sebagainya. Pra-pelepasan digunakan untuk melakukan ujian akhir; Lihat. Sekiranya semuanya berjalan lancar, penggunaan akhir dari pra-pelepasan kepada pengeluaran akan berlaku.

Pra-pelepasan adalah di luar skop buku ini, tetapi ia sentiasa baik untuk mengetahui. Dalam usia mesin maya dan projek satu kali kecil, pra-siaran boleh menjadi berlebihan dan hanya akan berfungsi dalam aplikasi web jangka panjang yang lebih besar.

Dalam konteks ini, kita juga harus memperkenalkan mod penyelenggaraan . Ia adalah mod , bukan persekitaran kerana persekitaran di sekitar aplikasi tidak akan berubah - hanya keadaan permohonan yang akan berubah. Ia biasanya hanya suis pada pelayan pengeluaran yang memberitahu orang yang cuba melawat laman web ini seperti "kembali sekarang, menyesuaikan diri!"

*Kekurangan amp bundle

Apabila memulakan pembangunan PHP, sangat menggoda untuk memuat turun dan memasang pakej seperti Xampp, WAMP, MAMP atau EasyPhp. Amp dalam nama -nama ini bermaksud "Apache, MySQL, dan PHP". XAMPP menambah lagi p pada akhir untuk bahasa perl. Surat pertama merujuk kepada sistem operasi: Windows, Linux, Mac OS X, atau dalam kes XAMPP, Cross-Platform (bermakna ia boleh dijalankan pada mana-mana sistem operasi).

Bundle ini mengandungi semua perisian yang anda perlukan untuk menjalankan aplikasi PHP dengan cepat dan mudah pada komputer anda. Dengan hanya satu klik, anda boleh memasang semua yang anda perlukan untuk menulis skrip PHP pertama anda. Jadi, apakah kelemahannya?

  • komputer anda akan tercemar dengan perisian yang tidak perlu
  • anda akan belajar kurang daripada pemasangan manual
  • ujian sukar
  • Jika anda membuat kesilapan, ia akan menjadi sangat sukar atau mustahil untuk dipulihkan ke keadaan terdahulu anda

mari kita selesaikan masalah ini satu demi satu.

Pencemaran mesin

Setiap kali anda memasang perisian seperti *stack amp pada komputer anda, sebahagian daripada komputer anda akan rosak. Walaupun anda memadam perisian kemudian, ia biasanya meninggalkan jejak yang tidak selesa -biasanya dalam bentuk kunci pendaftaran di Windows atau sisa fail di Linux. Malah, ini amat ketara pada Linux. Walaupun aplikasi Windows dan OS X dipasang dalam satu folder aplikasi, semua fail yang berkaitan dimasukkan, pada Linux, memasang perisian adalah seperti menembak istana yang dibina dengan senapang patah. Dengan satu klik, mereka berada di mana -mana.

dari masa ke masa, anda akan memasang perpustakaan lain, pakej lain, alat lain. Semasa anda membangunkan aplikasi anda, anda akan terus menambah perisian tambahan, mungkin menambah projek yang sama sekali berbeza, kerana anda telah mula mengerjakan projek baru selari. Mungkin App1 memerlukan pelanjutan PHP untuk mengedit imej, sementara App2 memerlukan lanjutan PHP untuk membolehkannya membungkus kod ke dalam arkib sumber tertutup supaya kod anda tersembunyi dari pesaing. Dari masa ke masa, anda akan mempunyai beratus -ratus megabait perisian pembangunan pada mesin anda, tetapi tidak tahu sama ada anda masih memerlukannya.

Mesin anda akan melambatkan, aplikasi anda akan menjadi kurang boleh digunakan, dan mesin pembangunan anda - komputer yang anda gunakan - akan sangat berbeza dari pelayan pengeluaran di mana anda akhirnya merancang untuk menggunakan aplikasi anda, yang anda menang ' T dapat mengendalikan perbezaan ini dengan anggun. Anda akan bertempur dengan kesilapan di laman web secara langsung dan mengganggu pelawat anda.

Pembelajaran adalah kemajuan, atau bagaimana Zon Keselesaan terlalu banyak dipandang

Dengan bergantung pada pakej prebuilt ini, anda juga akan melucutkan diri anda dari Pengurusan Sistem Pembelajaran (OPS untuk pendek). Di syarikat yang lebih besar, OPS adalah pasukan atau orang yang bertanggungjawab terhadap isu -isu pelayan -sama ada ia menetapkan kesilapan, memasang perisian baru, menaik taraf perisian sedia ada, dan banyak lagi. Pengurusan Sistem Asas adalah kemahiran yang mesti dimiliki apabila bekerja pada pasukan yang lebih kecil atau bersendirian untuk pelanggan.

Walaupun sangat mudah untuk dapat memasang semua yang anda perlukan pada komputer anda dengan satu klik, tidak ada antara muka pengguna pada pelayan dan oleh itu tidak boleh diklik; perisian supaya ia dapat menjalankan aplikasi PHP anda. Jika tidak, anda ditakdirkan untuk menyewa pentadbir pelayan untuk membantu anda, atau lebih teruk, menggunakan hosting bersama (cerita seram yang dijelaskan dalam Bab 6).

dengan enggan bergantung pada bundle *amp ini, anda akan dipaksa untuk memasang pelayan secara manual dan perisian lain, yang akan memaksa anda untuk mengatasi lengkung pembelajaran - jika anda mengambil jalan kerjaya ini dengan serius, pengetahuan ini akan digunakan untuk anda Dalam banyak cara membantu. Juga, ia tidak semestinya sukar untuk menguasai asas -asas, seperti yang anda lihat kemudian dalam buku ini.

ujian

Katakan app1 dan dibina pada Php 5.3, jalankan MySQL 4.0, dan bertujuan untuk digunakan pada pelayan yang dikuasakan oleh Apache (perisian pelayan). Kemudian, terdapat keperluan baru: Pastikan

App1 boleh dijalankan pada Php 5.6 dan MySQL 5.1 dan boleh didorong oleh Nginx (program pelayan lain yang bersaing dengan Apache, disebut "Enjin X"). Oh, apa yang harus saya buat sekarang?

Kami boleh mengemas kini PHP ke versi yang lebih baru dan semak jika App1 masih sah, tetapi bagaimana kita boleh terus membangunkan App2 tanpa menggunakan kod yang tidak disangka -sangka yang tidak tersedia dalam PHP 5.3 Bagaimana dengan

? Sekali lagi, kita boleh menaik taraf MySQL ke 5.1 dan periksa sama ada ia masih berfungsi, tetapi bagaimana kita tahu jika MySQL membuang beberapa ciri lama dalam versi 5, yang akan memecahkan APP2 walaupun kita menetapkan APP1 untuk dijalankan pada 5.1? Lagipun, APP2 masih perlu dijalankan pada 4.0, kerana ia masih boleh digunakan pada pelayan pengeluaran sedemikian. Malangnya, bagaimana kita berurusan dengan Apache vs nginx? Adakah kami memasang dua pelayan web di komputer kami dan mengujinya secara berasingan? Bagaimana kita menukarnya? Bagaimanakah kami memastikan kami ingat untuk menguji laman web kami pada masa runtime?

Ini hanya untuk dua aplikasi. Sekarang bayangkan jika anda perlu berurusan dengan sedozen aplikasi dari sepuluh pelanggan yang berbeza, masing -masing dengan keperluan yang berbeza. Semuanya cepat menjadi kurang menyeronokkan.

Masalah pemisahan versi perisian yang berbeza dapat diselesaikan dengan mudah melalui mesin maya, yang akan kita bincangkan dalam Bab 4.

kekacauan yang tidak dapat dibersihkan

Akhir sekali, bagaimana jika kita cuba memasang versi baru PHP tetapi ada masalah? Keadaan ini sangat biasa di OS X dan Linux - versi PHP yang dipasang pada mesin kami kini tidak berfungsi, dan ternyata mustahil untuk mendapatkan satu tapak untuk dijalankan. Apa kekacauan! Daripada dapat dengan mudah memulihkan ke keadaan berjalan sebelumnya, kami terpaksa menghabiskan sehari menyahpepijat sistem kami sendiri dan cuba untuk mendapatkannya - tidak semestinya versi yang tepat, tetapi hanya run

.

Bukankah lebih baik jika kita hanya perlu memasuki perintah untuk mendapatkan kembali apa yang kita 10 minit yang lalu? Ok, kita boleh! Ini juga akan ditunjukkan dalam Bab 4.

Konsistensi Pengeluaran/Pembangunan

Ini kedengaran pernyataan rumit sebenarnya sangat mudah - kita sebenarnya telah membicarakannya secara tidak langsung sebelum ini. Konsistensi pengeluaran/pembangunan bermaksud menjadikan persekitaran pengeluaran dan pembangunan sama seperti yang mungkin, sebaiknya sama, supaya apa yang anda usahakan akan dijalankan secara automatik dalam persekitaran pengeluaran tanpa sebarang konfigurasi tambahan atau debugging atau penalaan.

Mencapai konsistensi sangat penting untuk aliran kerja kerana penjimatan masa yang signifikan. Elakkan perlu melakukan apa-apa kerja tambahan untuk permohonan anda untuk dijalankan dalam persekitaran pengeluaran, yang bermaksud anda bebas untuk memfokuskan masa dan tenaga anda pada isu-isu logik yang berkaitan dengan perniagaan yang benar-benar memberi manfaat kepada konteks aplikasi dan bukannya sentiasa mengejar. Membuat perubahan dalam pembangunan, dan kemudian perlu membuat dua perubahan dalam pengeluaran untuk membuat perubahan muncul, membosankan paling baik dan paling teruk ia dapat menyakiti kesihatan projek. Anda tidak pernah tahu siapa yang akan membuat kesilapan, menyebabkan aplikasi menunjukkan skrin ralat kepada pengguna.

Cara terbaik untuk mencapai konsistensi adalah untuk menjalankan perisian yang sama dalam persekitaran pembangunan anda seperti dalam persekitaran pengeluaran anda. Sebagai contoh, jika anda berhasrat untuk menggunakan aplikasi anda ke persekitaran pengeluaran pada pelayan yang menjalankan sistem operasi Ubuntu Linux 14.04, lebih baik untuk membangunkan sistem operasi ini juga. Tetapi bagaimana jika kita menjalankan Windows kerana kita suka menggunakan kandungan multimedia canggih seperti permainan, atau kita memerlukan beberapa perisian imej dan pemprosesan video yang kuat yang tidak wujud sama sekali pada sistem operasi Linux? Sekiranya kita meninggalkan semua kepentingan kita yang lain, memasang Linux pada Windows, dan bekerja dengan konsistensi dan bukannya apa -apa lagi? Atau haruskah kita melepaskan konsistensi dan mengambil risiko sambil menjaga komputer kita kuat, cantik dan stabil, melekat pada sistem operasi pilihan kita?

bernasib baik, ada cara ketiga untuk mendapatkan yang terbaik dari kedua -dua dunia pada masa yang sama: mesin maya (diperkenalkan dalam Bab 4).

Prestasi dan Debugging

Beberapa aspek terakhir persekitaran aplikasi yang perlu diperkenalkan adalah memastikan aplikasi itu cepat (prestasi) dan bebas ralat (debug). Bahagian ini benar -benar teori;

Prestasi dicapai melalui pelbagai kaedah pengoptimuman. Bertentangan dengan makna perkataan, dalam pembangunan aplikasi, pengoptimuman biasanya mempunyai pelbagai tahap, dan beberapa perubahan segera membawa kepada penyelesaian yang sempurna. Prestasi termasuk tetapi tidak terhad kepada aspek berikut:

mengoptimumkan pangkalan data
pangkalan data biasanya adalah bahagian paling lambat dari mana -mana laman web, dan selepas pangkalan data berjalan untuk tempoh masa, kesesakan menjadi hambatan kerana permintaan masuk tidak dapat Untuk memproses cukup cepat. Kaedah pengoptimuman pangkalan data termasuk indeks menetapkan, membelah dan menulis, menukar enjin pangkalan data, data yang diekstrak dengan cache, dan frasa misteri lain.

Mengoptimumkan sumber depan
kami menyebutkan kompilasi dan pembinaan lebih awal-ini adalah bagaimana kami mengoptimumkan bahagian depan laman web. Apabila memaparkan laman web kepada pengguna, output yang mereka lihat termasuk imej, HTML, CSS, dan JavaScript, yang semuanya perlu dimuat turun dan dilaksanakan dalam penyemak imbas, seperti yang diterangkan dalam Bab 1. Semakin kecil fail -fail ini - dan semakin sedikit - semakin cepat beban laman web. Biasanya, laman web akan mempunyai beberapa fail CSS dan pelbagai fail JavaScript. Menggabungkan setiap jenis ke dalam fail CSS atau JavaScript yang lebih besar dapat meningkatkan kelajuan muat turun laman web anda. Petua pengoptimuman sumber depan yang sering digunakan adalah untuk menyediakan imej melalui rangkaian penghantaran kandungan (CDN), perkhidmatan pihak ketiga yang menjadi tuan rumah imej untuk anda dan memastikan pelawat ke laman web anda memuat turun gambar dari pelayan yang paling dekat dengan mereka, ini selanjutnya meningkatkan kelajuan. Ia juga boleh mengurangkan saiz imej, membuat ahli sihir imej dengan meletakkan semua imej ke dalam fail, dan banyak lagi.

Mengoptimumkan backend
Ini juga merupakan langkah penyusunan/membina. Fail ujian diabaikan dan fail digabungkan ke dalam fail yang lebih besar sebagai ganti satu juta fail yang lebih kecil. Sesetengah aplikasi PHP juga disusun dalam bahasa pengaturcaraan lain, seperti C, yang lebih cepat.

cache
Cache adalah untuk menyimpan fail dan respons yang diperlukan untuk kegunaan kemudian dan mengharapkan mereka diminta semula. Jika anda meminta pangkalan data untuk jumlah pengguna dalam pangkalan data, ia mengira mereka dan memberi anda nombor itu. Jika anda membiarkannya menyimpan nombor ini untuk kegunaan kemudian (iaitu cache itu), maka pada masa akan datang, ia boleh mendapatkan maklumat yang disediakan secara langsung. Ia memberitahu anda apabila anda bertanya kepada pelayan "Apa yang saya dapat jika saya melawat mysite.com/user/5/?". Jika anda memberitahu ia untuk mengingati jawapannya apabila anda bertanya pada kali berikutnya anda bertanya soalan, pelayan tidak perlu melihatnya kerana ia sudah tahu. Caching sangat penting dalam pembangunan web - ada kata mengatakan bahawa "caching adalah raja". Apabila banyak lalu lintas tiba -tiba muncul, ia boleh bermakna bahawa permohonan itu adalah kehidupan atau kematian.
Debugging

berkait rapat dengan prestasi. Di samping membawa pengguna skrin ralat yang menjengkelkan, kesilapan dalam kod juga boleh membawa kepada kunci pelaksanaan, jeda yang tidak boleh wujud dalam kod, duplikasi pangkalan data dan pertanyaan yang tidak perlu, dll.
Jadi, bagaimana untuk mengukur prestasi atau mencari kesilapan? Terdapat banyak alat yang boleh digunakan untuk menganalisis aplikasi PHP (inilah yang dipanggil mencari kesilapan dan mengukur prestasi dalam setiap aspek permohonan). Dua alat yang lebih baik adalah Z-Ray dan Blackfire (kami tidak akan memperkenalkannya dalam buku ini kerana mereka berada di luar skop buku ini).

Amaran: Perhatikan pengoptimuman mikro

Harus diingat bahawa kesilapan pemula yang biasa adalah pengoptimuman mikro. Sebagai contoh, terdapat satu pemikiran bahawa menggunakan petikan tunggal dengan rentetan ($ var = 'beberapa rentetan') lebih cepat daripada petikan berganda ($ var = "beberapa rentetan"). Keuntungan prestasi ini boleh menyebabkan boleh diabaikan dan hampir selalu remeh; Jika ragu-ragu, gunakan tanda aras dan data sebenar (seperti data dari Z-ray atau Blackfire) dan tidak pernah menggunakan intuisi anda.

Ringkasan

Dalam bab ini, kita meneroka persekitaran aplikasi, yang meliputi pelbagai ekosistem yang wujud di sekitar aplikasi pada tahap tertentu kitaran hayatnya. Kami membincangkan hosting maya dan bagaimana untuk mengkonfigurasi komputer anda untuk mengalihkan URL laman web ke pemasangan PHP anda sendiri dan bukannya mencari hasil dalam talian, dan kami membincangkan konsistensi pembangunan/pengeluaran yang sangat penting.

Jika semua ini kelihatan terlalu rumit, jangan digalakkan. Ini semata -mata kerana setakat ini kita telah menangani hampir hanya teori - teori yang diperlukan untuk berani memasuki alam amalan. Dalam bab seterusnya, kami akan menggunakan beberapa mesin maya untuk mengendalikannya sendiri.

bagi mereka yang mahukan lebih banyak

Dalam bidang aplikasi, menguji komponen individu dipanggil ujian unit -menguji setiap set kod individu supaya anda tahu jika ia berfungsi.

Sebagai contoh, sebahagian daripada permohonan anda mungkin mempunyai keupayaan untuk menghapuskan simbol tempatan dari setiap nama dan menukarnya kepada huruf mesra Amerika. Oleh itu, nama belakang saya "ŠKVorc" akan ditukar kepada "Skvorc". Menukar ŠKVorc ke Skvorc adalah sekeping kod kecil, atau satu unit. Unit ini boleh diuji; Saya kemudian boleh menulis ujian unit, yang merupakan fail yang mentakrifkan input dan output yang diperlukan, dan apabila saya menjalankannya, ia menguji jika fungsi ini masih sah. Jika dua bulan kemudian saya menukar sesuatu dalam aplikasinya, saya dapat dengan mudah menjalankan ujian ini (masih wujud) dan periksa sama ada penukaran ini masih sah. Aliran kerja ini memastikan bahawa anda boleh menaik taraf permohonan anda kemudian tanpa bimbang tentang memecahkan apa yang telah anda bina dan dilupakan sebelum ini. Dalam metafora kami mengenai telefon pintar pada permulaan bab ini, unit yang boleh diuji berasingan boleh menjadi skrin sentuh atau bateri.

Soalan Lazim Mengenai Persekitaran Aplikasi PHP (Soalan Lazim)

Apakah kepentingan persekitaran aplikasi PHP dalam pembangunan web?

Persekitaran aplikasi PHP adalah aspek penting dalam pembangunan web. Ia menyediakan persekitaran terkawal di mana pemaju boleh membina, menguji, dan menggunakan aplikasi PHP mereka. Persekitaran ini termasuk penterjemah PHP, pelayan web, dan sistem pangkalan data. Ia membolehkan pemaju menguruskan aspek -aspek yang berbeza dari aplikasi dengan cara yang konsisten dan boleh diramal, seperti tetapan konfigurasi, pengendalian ralat, dan sambungan pangkalan data. Ini membawa kepada proses pembangunan yang lebih cekap dan aplikasi berkualiti tinggi.

Bagaimana perbezaan antara persekitaran aplikasi PHP dan persekitaran pengaturcaraan lain?

Persekitaran Aplikasi PHP direka untuk pembangunan web. Mereka dilengkapi dengan keupayaan untuk memudahkan penciptaan laman web dinamik dan aplikasi web. Tidak seperti persekitaran pengaturcaraan lain, persekitaran PHP menyokong pelbagai pangkalan data dan serasi dengan pelbagai sistem operasi. Mereka juga menawarkan pelbagai pelaporan ralat dan keupayaan pembalakan, yang boleh membantu dalam debug dan penyelesaian masalah.

Apakah komponen utama persekitaran aplikasi PHP?

Persekitaran aplikasi PHP biasanya mengandungi tiga komponen utama: penterjemah PHP, pelayan web, dan sistem pangkalan data. Jurubahasa PHP bertanggungjawab untuk melaksanakan skrip PHP. Pelayan web mengendalikan permintaan dan respons HTTP. Sistem pangkalan data menyimpan dan mengambil data mengikut keperluan aplikasi PHP. Bersama -sama, komponen ini menyediakan platform yang komprehensif untuk pembangunan, pengujian dan penggunaan aplikasi PHP.

Bagaimana untuk menyediakan persekitaran aplikasi PHP?

Menyediakan persekitaran aplikasi PHP termasuk memasang dan mengkonfigurasi komponen yang diperlukan. Ini termasuk penterjemah PHP, pelayan web (seperti Apache atau Nginx) dan sistem pangkalan data (seperti MySQL atau PostgreSQL). Selepas memasang komponen ini, mereka perlu dikonfigurasikan untuk bekerjasama. Ini mungkin termasuk menyediakan sambungan pangkalan data, mengkonfigurasi tetapan PHP, dan menyediakan pelayan web untuk mengendalikan skrip PHP.

Apakah amalan terbaik untuk menguruskan persekitaran aplikasi PHP?

Amalan terbaik untuk menguruskan persekitaran aplikasi PHP termasuk menjaga persekitaran sehingga kini, menyokong data secara teratur, dan memantau prestasi alam sekitar. Ia juga penting untuk mengikuti amalan terbaik keselamatan, seperti menggunakan sambungan selamat, melindungi data sensitif, dan kerap memeriksa kelemahan. Di samping itu, menggunakan sistem kawalan versi boleh membantu menguruskan perubahan dan menjejaki versi yang berbeza dari aplikasi anda.

Bagaimanakah persekitaran aplikasi PHP membantu pengendalian ralat?

Persekitaran Aplikasi PHP menyediakan pelbagai pelaporan ralat dan keupayaan pembalakan. Ciri -ciri ini boleh dikonfigurasikan untuk memberikan maklumat terperinci mengenai kesilapan yang berlaku semasa pelaksanaan skrip PHP. Maklumat ini tidak ternilai untuk menyahpepijat dan penyelesaian masalah. Di samping itu, persekitaran PHP boleh ditetapkan untuk mengendalikan kesilapan dengan cara yang tidak mengganggu pengalaman pengguna, contohnya dengan memaparkan halaman ralat tersuai.

Bolehkah saya menggunakan persekitaran aplikasi PHP untuk pembangunan aplikasi mudah alih?

Ya, persekitaran aplikasi PHP boleh digunakan untuk pembangunan aplikasi mudah alih. PHP adalah bahasa skrip sisi pelayan, yang bermaksud ia boleh digunakan untuk membuat backend untuk aplikasi mudah alih. Backend ini boleh mengendalikan tugas seperti pemprosesan data, berinteraksi dengan pangkalan data, dan menguruskan sesi pengguna. Walau bagaimanapun, untuk hujung depan aplikasi mudah alih, anda biasanya menggunakan teknologi yang berbeza seperti HTML, CSS, dan JavaScript.

Apakah kelebihan menggunakan persekitaran aplikasi PHP?

Terdapat banyak kelebihan untuk menggunakan persekitaran aplikasi PHP. Ia menyediakan persekitaran yang terkawal dan boleh diramal untuk membangun, menguji, dan menggunakan aplikasi PHP. Ia menyokong pelbagai pangkalan data dan serasi dengan pelbagai sistem operasi. Ia juga menawarkan pelbagai pelaporan ralat dan keupayaan pembalakan, yang boleh membantu dalam debug dan penyelesaian masalah. Di samping itu, persekitaran PHP biasanya mudah ditubuhkan dan dikendalikan.

Bagaimana melindungi persekitaran aplikasi PHP saya?

Melindungi persekitaran aplikasi PHP melibatkan pelbagai langkah. Ini termasuk menggunakan sambungan yang selamat, melindungi data sensitif, mengemas kini persekitaran, dan memeriksa kelemahan. Ia juga penting untuk mengikuti amalan terbaik untuk pengekodan PHP, seperti mengesahkan dan membersihkan input pengguna, menggunakan penyataan pra -proses untuk pertanyaan pangkalan data, dan mengelakkan fungsi yang tidak ditetapkan.

Bolehkah saya menyesuaikan persekitaran aplikasi PHP saya?

Ya, persekitaran aplikasi PHP boleh disesuaikan untuk memenuhi keperluan khusus projek. Ini mungkin termasuk mengkonfigurasi tetapan PHP, menyediakan sambungan pangkalan data, dan menyesuaikan pelayan web. Di samping itu, terdapat banyak alat dan perpustakaan yang boleh memanjangkan fungsi persekitaran PHP, seperti rangka kerja untuk pembangunan aplikasi pesat, alat ujian, dan perpustakaan untuk mengendalikan tugas seperti pemprosesan imej, parsing XML, dan lain -lain.

Atas ialah kandungan terperinci Persekitaran aplikasi php. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan