Saya telah menginstal RHSCL 2 menggunakan url berikut:
menggunakan manajer berlangganan RedHat.
Saya kemudian berlari yum remove php*
diikuti olehyum install rh-php56
Semuanya berjalan lancar kecuali sekarang PHP tidak ditemukan di mana pun. Saya kemudian berlari find / -name php
dan menemukan rh-php56
di direktori berikut:
/var/opt/rh/rh-php56/lib/php
/opt/rh/rh-php56/register.content/var/opt/rh/rh-php56/lib/php
/opt/rh/rh-php56/root/usr/bin/php
/opt/rh/rh-php56/root/usr/lib64/php
/opt/rh/rh-php56/root/usr/share/php
Apa cara terbaik untuk memasukkan binari ini ke /usr/bin
direktori lain yang biasanya tersedia secara global untuk semua pengguna?
Apakah saya kehilangan langkah ketika menginstal paket yang mengapa tidak tersedia secara global? Atau apakah ini yang terjadi ketika menggunakan RHSCL?
Saya telah menguji binari di folder-folder itu dan mereka berfungsi ketika saya jalankan php -v
sehingga berfungsi dengan baik.
Pikiran pertama saya adalah hanya cp
masuk /bin
atau /usr/bin
tetapi mungkin ada cara resmi untuk melakukan apa yang saya minta?
sunting
Tidak dapat berkomentar, tidak ada rep ... dari bab 3 dari tautan yang saya posting, dikatakan bahwa paket pengumpulan perangkat lunak harus dijalankan seperti:
scl enable rh-php56 'php -v'
Yang berhasil ... namun bagaimana cara menjalankannya untuk semua pengguna seperti $ php -v
tanpa perintah tambahan. Saya membutuhkan binari php yang tersedia secara global sehingga pengguna web dapat menggunakannya dan ssh pengguna dengan shell yang normal.
sumber
scl enable rh-php56 command
, yang rumit. Mengaktifkannya secara global melalui jawaban @ antofthy jauh lebih elegan.Jawaban:
Cara mengimpor koleksi perangkat lunak ke shell Anda saat ini (tidak meluncurkan sub-shell) adalah dengan sumber file "aktifkan".
Misalnya untuk rh-php56 pada mesin Redhat 7 ...
Anda sekarang dapat menjalankan "php", atau membaca halaman manual "man php" seperti biasa.
yang akan menambahkan variabel lingkungan yang sesuai ke lingkungan shell saat ini. Pengguna individu dapat melakukan ini di file .bashrc di sana, yang memungkinkannya tersedia dari SSH (kerang non-interaktif)
Anda juga dapat menyalin (atau symlink) file yang diaktifkan ke /etc/profile.d/ dengan akhiran ".sh" untuk secara otomatis mengaktifkannya untuk SEMUA pengguna.
Sebagai contoh
Berhati-hatilah melakukan ini jika diperlukan lebih dari sekadar lingkungan (seperti daemon?). Atau jika beberapa versi dari perangkat lunak itu ada pada suatu sistem (untuk kompatibilitas mundur dengan perangkat lunak / layanan lain), karena mungkin ada interaksi antara versi. Pengguna juga mungkin tidak menginginkan versi 'terbaru', atau menjadi bingung mengapa sistem 'basis' (EG: / etc configs) tidak mempengaruhi versi pengumpulan perangkat lunak.
Anthony Thyssen (Admin sistem yang sangat lama)
sumber
source scl_source enable python33