Pindah Server, Safe Mode, dan Pemilikan File ...
Saya baru saja pindah beberapa aplikasi web yang saya telah menulis kepada dedicated server baru dengan UKFast . Server baru saya dengan sebelumnya saya host web yang mengerikan , sedang setup dalam kurang selamat cara yang jauh ( PHP Safe Mode "> safe_mode off contohnya) daripada yang baru sehingga aku mendapati bahawa beberapa skrip tidak berfungsi.
Salah satu gangguan utama adalah upload file php digunakan untuk meletakkan gambar hotel ke laman web tersebut. Dengan melaporkan kesalahan beralih kepada maksimum dan Tayangan Kesalahan dihidupkan dalam fail php.ini saya, saya boleh melihat senarai lengkap dari kesalahan. Salah satu keluhan utama menyatakan sesuatu di sepanjang baris ...
PHP Amaran:  Unknown (): SAFE MODE Restriction di effect. Script yang uid adalah 1 tidak dibenarkan untuk mengakses / path / ke / script.php dimiliki oleh 26658 uid di Unknown on line 0;
Banyak direktori dan file gambar dicipta oleh laman web yang lama dan pemilikan fail adalah masalah besar. Sokongan teknikal menyarankan mematikan mod terjamin sebagai memperbaiki jangka pendek dan kemudian bekerja di sekitarnya dalam jangka panjang. Saya tidak cukup puas hati dengan penyelesaian ini sehingga menghabiskan masa beberapa pemikiran melalui masalah.
Aku tahu bahawa anda boleh menukar pemilikan fail dengan login sebagai root melalui SSH dan menjalankan perintah berikut ...
<> chown user: group file (juga lihat chgrp )
(Anda boleh menggunakan R-beralih kepada chown semua gambar dalam laman web anda)
Aku mulai dengan menetapkan pemilikan fail dan group dari fail di laman saya untuk 26658 (jika kita menggunakan contoh di atas!). Ini tampaknya untuk menyusun masalah sampai yang saya cuba untuk FTP file ke dan dari halaman tersebut, sehingga izin ditolak dan / atau fail tidak dijumpai kesalahan.
Jadi setelah bermain-main dengan beberapa uid, aku punya secangkir teh dan berfikir melalui masalah. Bagi saya untuk meng-upload file melalui FTP pemilik file akan harus sesuai dengan nama pengguna FTP. Jadi saya menetapkan pemilik fail sebagai username saya yang digunakan untuk login melalui FTP. Kedua, webserver akan ingin mengakses fail jadi saya menetapkan pemilikan kumpulan sebagai ' apache '.
Ini tidak cukup bekerja, tetapi tatacara pemilikan direktori tmp / kepada sesiapa pun (chown ada / tmp) tampaknya telah tetap masalah:)

















































