Apakah boleh kode PHP pada Windows dan host nanti di server yang menjalankan Linux? Bisakah ada masalah dalam migrasi proyek semacam itu?
Saya akan berpikir bahwa sebenarnya tidak ada masalah, terutama karena saya seorang pemula dalam PHP dan saya tidak akan menggunakan salah satu fungsi lanjutan yang mungkin spesifik OS. Namun, saya ingin memastikan karena saya benar-benar tidak suka Linux sama sekali.
Jawaban:
Beberapa petunjuk:
Kepekaan case sistem file
Jika file Anda disebut HelloWorld.php ini:
sah untuk Windows dan akan berfungsi. Tapi nama file Linux adalah case sensitif, Anda dapat memiliki file disebut
HelloWorld.php
,helloworld.php
,hEllOwOrlD.php
dalam direktori yang sama. Jadi, Anda harus mengembangkan di Windows seolah-olah Anda sedang mengembangkan sistem file case sensitif: gunakan nama file yang benar, nama direktori, nama ekstensi -.php
juga berbeda dari.PHP
.Direktori dan pemisah jalur
Di Windows kami katakan:
Tetapi di Linux kita akan mengatakan:
PHP cukup pintar untuk tidak peduli, kedua pemisah bekerja di kedua sistem. Tetapi Anda harus konsisten dan mengikuti slash (/) di mana-mana karena ini juga merupakan norma pada kebanyakan sistem. Ada konstanta standar yang bagus
DIRECTORY_SEPARATOR
yang diterjemahkan menjadi yang benar, jika Anda ingin melangkah sejauh itu:Hal yang sama berlaku untuk pemisah jalur, yang merupakan titik koma pada Windows, titik dua sebaliknya. Jadi agar aman Anda harus melakukan:
ketika membutuhkan pemisah jalur. Meskipun kebanyakan orang berpikir bahwa karena PHP tidak keberatan dengan pemisah yang Anda gunakan tidak apa-apa, tetapi ada satu tangkapan penting: Pemisah akan menjadi sistem yang spesifik ketika Anda menanyakan direktori atau jalur ke sistem. Jadi misalkan Anda ingin meledakkan path include ke dalam bagian-bagiannya:
Pengkodean dan pembatas file
Anda harus mengatur IDE Anda untuk mengatur pengkodean file untuk semua skrip Anda ke UTF-8, bukan Cp *, dan pembatas baris file ke Unix (
"\n"
bukan"\r\n"
). Dalam kebanyakan kasus itu tidak terlalu penting tetapi Anda harus konsisten dan cara terbaik adalah cara Unix (yang berfungsi dengan baik pada Windows tetapi tidak sebaliknya).sumber
Anda tidak dapat menjalankan
strftime()
dengan%e
di lingkungan Windows, seperti yang tercantum di halaman manual :sumber
Tidak akan ada masalah dalam menjalankan kode. Jika Anda mengedit file yang disimpan di Windows di Linux, Anda mungkin memperhatikan bahwa karakter akhir baris mungkin berbeda tetapi tidak ada salahnya. Jika itu mengganggu Anda mengkonfigurasi windows IDE / editor Anda untuk menggunakan Unix end of line.
sumber
Atur diri Anda dengan testbed Linux. Ini bisa berupa komputer Linux virtual yang berjalan di bawah Windows, bisa juga komputer dual-boot, bisa juga sistem teman. Kemudian, sesekali (mis. Senin pagi), port kode Anda ke sistem Linux dan mengujinya.
Jawaban lain menangani masalah utama yang akan Anda hadapi, tetapi ada banyak gotcha yang lebih kecil, seperti:
Ya, ada cara untuk secara hati-hati mengatasi semua perbedaan ini, tetapi apakah Anda berhati-hati dalam menggunakan solusi tersebut? Tentu saja tidak - Anda dikodekan dan dijalankan sehingga harus OK.
Jangan letakkan apapun di komputer host sebelum diuji pada sistem operasi yang sama.
Saya tidak punya pengalaman porting dari Windows ke Linux, tetapi saya punya pengalaman porting dari Linux ke Windows dan lebih banyak pengalaman porting dari Linux ke OS X. Itu bisa dilakukan, tetapi kuncinya adalah pengujian, pengujian, dan pengujian.
sumber
Meskipun saya cukup nyaman di baris perintah Linux dan dengan alat pengeditan Linux seperti vim, saya melakukan sebagian besar pengembangan PHP saya pada mesin windows.
Saya memiliki server virtual di internet (menjalankan saya sekitar $ 20 per bulan) yang saya gunakan sebagai server pengembangan, dan saya terhubung dengannya menggunakan FileZilla. FileZilla mengunduh file yang saya edit ke direktori temp dan melacak menyimpan dan ketika saya menyimpannya melemparkannya kembali ke server dev, dan saya mengujinya dari sana.
Agak rumit, tetapi memungkinkan saya untuk melakukan pengembangan cukup banyak di mana saja; menggunakan FileZilla dan editor sederhana di thumb drive saya bahkan dapat terhubung dari komputer lain dan membuat perubahan. Semua pengujian selalu di server Linux, jadi saya menangkap masalah yang mungkin saya sebabkan di luar kotak - lebih sedikit kejutan yang tidak menyenangkan ketika saya melemparkan kode ke server.
Anda dapat melakukan hal yang sama dengan akun hosting murah (walaupun tergantung pada jenis aplikasi yang Anda kembangkan, Anda mungkin mengalami masalah kinerja karena akun hosting murah biasanya kurang bertenaga) dan banyak aplikasi FTP lainnya juga memiliki edit-dan- fungsionalitas unggah.
sumber
Ya, itu bisa dilakukan, tetapi beberapa hal harus Anda pertimbangkan. Periksa jawaban untuk info lebih lanjut.
Itu salah satu dari hal-hal itu, kadang-kadang pengembang harus lakukan, karena sumber daya, bukan karena mereka menyukainya.
Anda mungkin memiliki server web lokal (apache, cherokee, bahkan M $), di PC Anda, dan server PHP diinstal. Dan PC Anda, mungkin tidak memiliki koneksi Internet, atau hanya dapat terhubung untuk waktu yang singkat.
Kemudian Anda dapat memperbarui situs web nyata, memperbarui file Anda ke server nyata, dengan alat ftp, dengan PC yang sama atau PC lain, yang terhubung ke internet.
sumber
Seperti yang dikatakan kebanyakan orang, seharusnya tidak ada masalah. Yang mengatakan, VirtualBox membuatnya sangat, sangat mudah untuk berdiri mesin virtual linux yang Anda dapat menguji basis kode Anda untuk memastikan itu berfungsi di lingkungan produksi tanpa harus mengatakan lingkungan produksi berguna.
sumber