تنظیمات per-domain یا per-path برای php
با توجه به اینکه suPhp قدیمی است و کارایی انواع جدید تر php را ندارد ، مدیران می خواهند روشهای جدید را با آن ترکیب کنند و علاوه بر آن قابلیت تنظیم هر آیتم را داشته باشند تا بتوانند تنظیمات سفارشی را در صورت لزوم انجام دهند .
در صورتی که شما از (mod_php (cli استفاده می کنید ، بخش عمده ای از تنظیمات php می تواند در Custom Httpd Config با تنظیمات درست و استاندارد php_admin_flag / php_admin_value در VirtualHost تنظیم شود.
ممکن است شما بخواهید کنترل بیشتری داشته باشید ، مثلا برای مواردی که این روش یا این مسیر و .. آنها را ساپورت نمی یکند و … .
در این موارد CustomBuild 2.0 از یک پوشه برای فایل های php.ini اضافه استفاده می کند ، اگر آنها در این پوشه وجود داشته باشند لود می شوند .
مسیر به حالت php بستگی دارد ، به عنوان مثال ما از مسیر زیر استفاده خواهیم کرد :
/usr/local/lib/php.conf.d
اما برای حالات دیگر php ، اگرورژن php ای که استفاده می کنیم php55 است ، مسیر ممکن است مانند زیر باشد :
/usr/local/lib/php55/php.conf.d
شما هم می توانید مکان php.ini و php.conf.d را تعیین کنید ، اینجا را ببینید .
زمانی که مسیر را میدانید می توانید فایل ini سفارشی خود را ایجاد کنید .
بارگذاری فایل های ini به ترتیب حروف الفبا انجام می شود ، بنابراین ما فایل ها را برای اینکه بدانیم در کدام یک از آنها بارگذاری می شود، بررسی می کنیم .
معمولا این دستور خیلی مهم نیست، مگر اینکه تنظیمات مربوط به یک ماژول را که باید ابتدا بارگیری شود تغییر دهید
Per-domain settings
اگر شما بخواهید تنظیمات Per-domain را برای domain.com انجام دهید باید فایل زیر را بسازید :
/usr/local/lib/php.conf.d/30-domain.com.ini
و سپس کدی شبیه به زیر وارد کنید :
[HOST=domain.com] session.save_path=/home/fred/tmp upload_tmp_dir=/home/fred/tmp
این کد مثال است .
Per-path settings
به طور مشابه شما می توانید تنظیمات را براساس per-path تغییر دهید .
برای کاربری به عنوان مثال fred که ماهر است اگر شما بخواهید تنظیمات را برای دامنه ی تحت آن اعمال کنید (معمولا برای هر کاربر) ، فایل را ویرایش کنید :
/usr/local/lib/php.conf.d/30-fred.ini
و سپس کد های زیر را اضافه کنید :
[PATH=/home/fred] session.save_path=/home/fred/tmp upload_tmp_dir=/home/fred/tmp
مثال بالا به این معنی است که برای هر آیتمی که میخواهید اضافه کنید ، یک فایل جداگانه ایجاد کنید . البته این لازم نیست .
شما می توانید از یک فایل اضافی برای لود سریع تر استفاده کنید اما شما باید لیست دامنه ها را در خروجی phpinfo() پنهان کنید .
همانگونه که همه ی فایل های اضافی php.ini بارگذاری شده نمایش داده می شوند .
بنابراین اگر شما از این مورد استفاده می کنید :
/usr/local/lib/php.conf.d/30-custom-domains.ini
نکته : شما می توانید بسیاری از مطالب [HOST = xx] را یکی پس از دیگری در یک فایل اضافه کنید.