PHP dosyadan yapılandırma ayarlarını okumak ve kabuk komut dosyası kullanarak tüm proje kodunu yüklemek için temiz yoldur

0 Cevap php

Ben shell scripting ile bir acemi öylesine bir kabuk komut dosyası kullanarak bir PHP dosyası ayrıştırma bir kaç fikir ihtiyaç duyuyorum.

Bizimki bir PHP projesi olduğunu ve üretim sunucusuna kod yüklemek için kullanılan bizim shell script geliştirmek duyuyorum.

Birkaç sabitleri için, yükleme sırasında okunması gereken production.settings.php bir PHP yapılandırma dosyası vardır -

BASE_PATH (path to project root on prod server)
db_host, db_name etc. (database settings of prod database - to be used for taking a backup of the database before upload)

Question

  • Sabitler değerini nasıl okunur?

    Onlar bu gibi tanımlanır:

    define("BASE_PATH","/path/to/project/root");
    
  • How to read the first uncommented value of the constant?
    Note - The constant may be defined more than once in the same file (let's assume the possibilty - this may happen by mistake or there may be commented instances of the line)

Şimdiye kadar sadece benim kabuk komut define("BASE_PATH" kullanarak dize grep içeren satırların sayısını almak mümkün -

cd ..
PROJECT_ROOT=$PWD
result= grep -ic 'define("BASE_PATH",' $PROJECT_ROOT'/config/main.settings.php'
echo "see"$result
  • Yeterince iyi veya yml dosya ayrıştırma bu yöntem daha iyi olurdu mı? Ben kod az miktarda yazarak sonucu elde edebilirsiniz, böylece bu iş için herhangi bir kabuk komut / pasajı var mı?

Updates
Check my other questions for more details on this:-
Manipulating an array (printed by php-cli) in shell script ,
Assigning values printed by PHP CLI to shell variables,
Initiating dynamic variables (variable variables) in bash shell script

0 Cevap