RHSCL PHP'yi dünya çapında kullanılabilir hale getirmenin en iyi yolu


10

Aşağıdaki url'yi kullanarak RHSCL 2'yi yükledim:

https://access.redhat.com/documentation/en-US/Red_Hat_Software_Collections/2/html/2.0_Release_Notes/chap-Installation.html

RedHat abonelik yöneticisini kullanarak.

Sonra koştum yum remove php*veyum install rh-php56

PHP dışında hiçbir yerde bulunamadı dışında her şey sorunsuz gitti. Sonra koştum find / -name phpve rh-php56aşağıdaki dizinlerde bulundu :

/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

Bu ikili dosyaları /usr/binveya tüm kullanıcılar için genellikle kullanılabilir olan başka bir dizini almanın en iyi yolu nedir ?

Paketleri kurarken bir adım atladım mı, bu yüzden global olarak mevcut değil mi? Yoksa bu RHSCL'leri kullanırken ne oluyor?

Bu klasörlerdeki ikili dosyaları test ettim ve çalıştığımda işe yarayacak php -vşekilde çalışıyorlar.

İlk düşüncem sadece cpiçine girmek /binya da /usr/binbelki de istediğimi yapmanın resmi bir yolu var mı?

Düzenle

Yorum yapamıyorum, rep ... gönderemediğim bağlantının 3. bölümünden, yazılım toplama paketlerinin şu şekilde çalıştırılması gerektiğini söylüyor:

scl enable rh-php56 'php -v'

Hangisi işe yarıyor ... ancak $ php -vek komutları olmayan tüm kullanıcılar için nasıl çalıştırabilirim . Web sunucuları bunu ve normal kabukları ile ssh kullanıcıları kullanabilirsiniz böylece dünya çapında kullanılabilir php ikili dosyaları gerekir.


Verdiğiniz bağlantının 3. bölümünü okumayı unuttun ....
Sven

1
Sven ... Kendim okudum .. ve sahip olduğu tek şey mevcut koleksiyonu ile bir alt kabuk başlatmak. Kullanıcının bir alt kabuk çalıştırmasına gerek kalmadan bir koleksiyonun varsayılan olarak nasıl kullanılabilir hale getirileceği hakkında ayrıntılı bilgi YOKTUR. Aşağıda uygun bir çözümü ayrıntılı olarak açıklayacağım.
anthony

Sven, bu, her kullanıcının ve her daemonun çalıştırılması gerektiği anlamına gelir scl enable rh-php56 command, bu da karmaşıktır. @ Antofthy'nin cevabı aracılığıyla küresel olarak etkinleştirmek çok daha zariftir.
Stefan Lasiewski

Yanıtlar:


16

Bir yazılım koleksiyonunu geçerli kabuğunuza aktarmanın yolu (bir alt kabuk başlatmayın) "enable" dosyasını kaynaklamaktır.

Örneğin bir Redhat 7 makinesinde rh-php56 için ...

kaynak / opt / rh / rh-php56 / enable

Artık "php" yi çalıştırabilir veya normal "man php" sayfalarını okuyabilirsiniz.

mevcut mermi ortamına uygun ortam değişkenlerini ekler. Bireysel kullanıcılar bunu orada .bashrc dosyalarında yapabilir ve SSH'den (etkileşimli olmayan kabuklar) kullanılabilir olmasını sağlar

Etkinleştirme dosyasını TÜM kullanıcılar için otomatik olarak etkinleştirmek üzere ".sh" sonekiyle /etc/profile.d/ dosyasına kopyalayabilir (veya symlink).

Örneğin

ln -s / opt / rh / rh-php56 / enable /etc/profile.d/rh-php56.sh

Ortamdan daha fazlasına ihtiyaç duyulursa (cin gibi?) Bunu dikkatli bir şekilde yapın. Veya bir sürümde söz konusu yazılımın birden çok sürümü varsa (diğer yazılım / hizmetlerle geriye dönük uyumluluk için), çünkü sürümler arasında etkileşim olabilir. Ayrıca, kullanıcılar 'en son' sürümü istemeyebilir veya 'temel' sistemin (EG: / etc configs) yazılım toplama sürümünü neden etkilemediğine karışabilirler.

Anthony Thyssen (Çok eski bir sistem yöneticisi)


Bu yöntem hangi php.ini örneğini çağırır?
Darvanen

1
Okunan php.ini dosyası php programına sabit kodlanmıştır. Yukarıdaki örnekte "/etc/opt/rh/rh-php56/php.ini" dir. Bunu ".php" web sayfasından <? Php phpinfo ()?> PHP komut dosyasını kullanarak veya CLI PHP komutunu kullanarak doğrulayabilirsiniz.
Anthony

Ahhh ... php-fpm servisi yerine httpd'yi yeniden başlatıyordum. Başkasının bu şekilde sıkışması durumunda buraya gönderiyorum.
Darvanen

Bu aslında bir SCL paketini etkinleştirmek için yeterli mi? access.redhat.com/solutions/527703 gibi bir şey yapan bir bash betiği oluşturuyor gibi görünüyorsource scl_source enable python33
Stefan Lasiewski

Yeterli olmalı. Temel olarak, ortamın belirli bir sürümü sistem sürümü üzerinde kullanması için ayarlar. Ancak sadece alt kabuk içinde başladı.
Anthony
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.