جدول محتوایی
در این مقاله کوتاه نحوه تعیین یک php.ini سفارشی برای وب سایتی که روی Apache2 با mod_php اجرا می شود را به شما توضیح می دهیم. به این ترتیب، هر وبسایت میتواند به جای استفاده از پیشفرض سرور، فایل php.ini سفارشی خود را داشته باشد.
در این آموزش، از دامنه وب سایت www.example.com با ریشه سند /var/www/web1/web استفاده می کنیم.
همین حالا تا دیر نشده، تخفیف های سرور مجازی ما را از دست ندهید!! برای اطلاعات از مشخصات و قیمت پلن های سرور مجازی ایرانیکاسرور، وارد صفحه خرید سرور مجازی ایران شوید.
دریافت جزئیات در مورد نصب PHP پیشفرض شما
اکنون یک فایل PHP کوچک (info.php) در ریشه سند ایجاد می کنیم و آن را در یک مرورگر فراخوانی می کنیم. فایل جزئیات مفیدی را در مورد نصب PHP ما، مانند مشخصات فایل php.ini استفاده شده را، نمایش می دهد.
برای این کار باید بوسیله یک ویرایشگر متن لینوکس (که ما از vim) استفاده میکنیم)، فایل info.php را با دستور زیر ایجاد کنیم.
nano /var/www/web1/web/info.php
پس از اینکه فایل ساخته شد، قطعه کد زیر را کپی و در آن پیست کنید.
<?php phpinfo(); ?>
با فشردن کلید های Ctrl + O و سپس Enter تغییرات را ذخیره کنید.
در نهایت فایل ساخته شده را در مرورگر فراخوانی کنید تا مشخصات PHP سایت خود را ببینید. (به عنوان مثال http://www.example.com/info.php) :
همانطور که می بینید، وب سایت در حال حاضر از فایل /etc/php/8.1/apache2/php.ini استفاده می کند.
ساخت php.ini سفارشی برای یک وب سایت
باید فایل php.ini پیشفرض را با توجه به توزیع لینوکسی که استفاده میکنیم، در دایرکتوری سایتمان کپی کنیم.
برای دبیان و اوبونتو :
mkdir /etc/php/web1/ cp /etc/php/8.1/apache2/php.ini /etc/php/web1/
برای فدورا و CentOS :
mkdir /etc/php/web1/ cp /etc/php.ini /etc/php/web1/
(اکنون می توانید /var/www/web1/php.ini را به دلخواه تغییر دهید.)
سپس باید پیکربندی vhost را برای وب سایت www.example.com باز کنید و یک خط PHPINIDir به آن اضافه کنید. مراحل به شرح زیر است:
آپاچی با یک فایل میزبان مجازی یا vhost پیش فرض به نام 000-default.conf ارائه می شود که ما از آن به عنوان الگو استفاده خواهیم کرد. ما آن را کپی می کنیم تا یک فایل میزبان مجازی برای هر یک از دامنه های خود ایجاد کنیم.
sudo cp /etc/apache2/sites-available/000-default.conf /etc/apache2/sites-available/www.example.com.conf
فایل جدید را در ویرایشگر خود باز کنید (ما از vim استفاده می کنیم) با امتیازات روت:
sudo nano /etc/apache2/sites-available/www.example.com.conf
حالا ما میتوانیم این فایل را برای دامنه خود سفارشی می کنیم. متن هایلایت شده زیر را با توجه به شرایط خود تغییر دهید.
<VirtualHost *:80> ServerAdmin [email protected] ServerName example.com ServerAlias www.example.com DocumentRoot /var/www/example.com/public_html ErrorLog ${APACHE_LOG_DIR}/error.log CustomLog ${APACHE_LOG_DIR}/access.log combined </VirtualHost>
در اینجا تنها کاری که باید انجام دهید، اضافه کردن خط PHPINIDir به فایل است. مانند زیر :
<VirtualHost 1.2.3.4:80> [...] PHPINIDir /etc/php/web1 [...] </VirtualHost>
PHPINIDir باید شامل دایرکتوری باشد که فایل php.ini برای وب سایت در آن قرار دارد.
سپس آپاچی را مجددا راه اندازی کنید:
دبیان و ابونتو :
service apache2 restart
فدورا و CentOS :
service httpd restart
اکنون فایل info.php را دوباره در یک مرورگر (http://www.example.com/info.php) فراخوانی کنید:
همانطور که در تصویر بالا میبینید، خط مسیر فایل پیکربندی (php.ini) باید php.ini سفارشی جدید را نشان دهد.