ইনস্টলেশন প্রোফাইল চলাকালীন সেটিংস.এফপি কীভাবে কাস্টমাইজ করবেন


9

আমি আমার বর্তমান সংস্থার অভ্যন্তরীণ প্রকল্পের জন্য একটি ইনস্টলেশন প্রোফাইল তৈরি করছি।

ইনস্টলেশন প্রক্রিয়া চলাকালীন init(), কাস্টম মডিউলগুলির মধ্যে একটি ক্র্যাশ হয় , যেহেতু এটি একটি গ্লোবাল ভেরিয়েবলকে সংজ্ঞায়িত করার চেষ্টা করে settings.php(এটি মডিউলের বর্তমান ডিফল্ট আচরণ)

system_form_install_settings_form_alter()ব্যবহারকারীর ইনপুটগুলির জন্য একটি ইনপুট পাঠ্য ক্ষেত্র যুক্ত করে আমি সেটিংস ফর্মটি পরিবর্তন করেছি এবং জমা দেওয়ার সময় মানটি সংযোজন করা হয় settings.phpতবে settings.phpপ্রোফাইল ইনস্টলেশন শুরু হওয়ার আগেই এটি আবার লেখা হয়।

settings.phpইনস্টলেশন প্রক্রিয়া দ্বারা ক্লিনআপ আটকাতে কোন উপায় আছে ?


1
ক্র্যাশ হচ্ছে এমন মডিউলটি প্যাচ করা আরও সহজ হবে এবং সেই প্রকল্পের জন্য ইস্যু সারিতে আপনার পরিবর্তন জমা দিন। আপনার পরিবর্তনটি স্বীকৃত হওয়ার আগে, আপনি আপনার ইনস্টলেশন প্রোফাইলের জন্য মেকফাইলে আপনার প্যাচটির জন্য একটি রেফারেন্স যুক্ত করতে পারেন।
গ্রেগ_এন্ডারসন

হাই, আপনার উত্তরের জন্য ধন্যবাদ। এটি একটি কাস্টম অভ্যন্তরীণ মডিউল (কোনও অবদান নয়), তবে হ্যাঁ, আমি এটি প্যাচ করেছি এবং সমস্যাটি সমাধান হয়েছে।
পাওলো গোমেস

এটি এমন কি কিছু যেখানে सेटिंगস.লোকাল.এইচপিপি ফাইল ব্যবহার করে সেটিংস.এফপিপি ফাইলটিকে ওভাররাইড করতে সাহায্য করতে পারে?
বেথ

এই লিঙ্কটি আমার জন্য বড় সাহায্য ছিল previousnext.com.au/blog/...
ভিক

উত্তর:


3

আপনি এটি ব্যবহার করতে আরও সহজ পেতে পারেন settings.common.php

প্রায়শই টিম প্রকল্পগুলির সময়, আমাদের settings.phpসাথে ডিবি শংসাপত্রগুলি সহ স্থানীয় থাকে .. এবং settings.common.phpইনস্টল এবং স্থাপনার পরিবেশের জন্য সাধারণ সেটিংস সহ।

আপনি settings.common.phpএকটি অন্তর্ভুক্ত / প্রয়োজনীয় লাইনটি যুক্ত করতে পারেনsettings.php

require 'settings.common.php'; // same directory, e.g sites/default/settings.common.php

এবং তারপরে ইনস্টলের সময় প্রয়োজন অনুযায়ী এটি লিখুন।


3

আমার উত্তর অ্যাপাচি ব্যবহার করে সার্ভারের উপর নির্ভর করে, তবে আমি ধরে নিই যে অন্য কোনও ওয়েব সার্ভারও এটি সম্পাদন করতে পারে।

আপনার ভার্চুয়ালহোস্ট কনফিগারেশনে, আপনি আপনার পরিবেশের জন্য সমস্ত ভেরিয়েবল সেট করতে পারেন:

SetEnv DBUSER datbase_user
SetEnv DBPASS database_pass
SetEnv DBNAME database_name
SetEnv DBHOST localhost

এবং আপনার সেটিংস.এফপি ফাইলটিতে:

$databases = array (
   'default' => 
   array (
     'default' => 
     array (
       'database' => $_SERVER["DBNAME"],
       'username' => $_SERVER["DBUSER"],
       'password' => $_SERVER["DBPASS"],
       'host' => $_SERVER["DBHOST"],
       'port' => '',
       'driver' => 'mysql',
       'prefix' => '',
    ),
   ),
 );

আপনি এইভাবে অন্য কোনও ভেরিয়েবল সেট করতে পারেন।

যদি আপনি hands _SERVER অ্যারেটি ভুল হাতে পাওয়ার বিষয়ে উদ্বিগ্ন থাকেন তবে আপনি সেটিংসের নীচে গুরুত্বপূর্ণ ভেরিয়েবলগুলি আনসেট করতে পারেন ph

unset($_SERVER["DBUSER"]);
unset($_SERVER["DBPASS"]);
unset($_SERVER["DBNAME"]);
unset($_SERVER["DBHOST"]);

আমাদের দেব পরিবেশে, মঞ্চায়ন এবং এমনকি উত্পাদনের মধ্যে সাইটগুলি সরানোর জন্য আমরা আমাদের অফিসে এটিই করি।

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.