Custom php.ini per-directory (for testing sites)

后端 未结 2 1208
别那么骄傲
别那么骄傲 2021-01-15 14:09

I\'m running Apache 2.26, on Windows 7 with PHP 5.39 mod_ssl/2.2.6 OpenSSL/0.9.8g .

PHP works fine, so does Apache.

However, I want to try and create custom

相关标签:
2条回答
  • 2021-01-15 15:05

    If you are using php_flag then you are probably using mod_php5. Custom 'php.ini' files aren't supported with this. You would need to use suPHP or equiv as the php.ini is only loaded at PHP startup, and this isn't per-request for mod_php5 and FCGI.

    However, since you are using PHP 5.3 you can also use .user.ini files which are parsed on a per-request basis.

    0 讨论(0)
  • 2021-01-15 15:06

    Many times you might feel that you require a different settings for different sites (running on the same server) as specified in php.ini . So you start making changes in your php files using ini_set() or .htaccess to override those settings. In this howto, I will tell you how to solve this problem of having different php settings by having separate php.ini files for each website.

    So, lets assume that I have a website with document root as /var/www/html/example/ with domain as www.example.com. For testing purpose you can create a small file in /var/www/html/example/phpinfo.php

    <?php
    phpinfo();
    ?>
    

    Now run http://example.com/phpinfo.php it will display current php settings.

    Now copy the php.ini file from /etc/php.ini file to your /var/www/html/example.

    [root]# cp /etc/php.ini /var/www/html/example #For fedora users

    [chia]$ sudo cp /etc/php5/apache2/php.ini /var/www/example # for Debian and Ubuntu

    And now, we just need a simple trick to tell apache where to find the php settings for this website. You need to make this small change in the configuration file.

    <VirtualHost 10.24.11.2:80>
    
    ServerName example.com
    
    ServerAlias www.example.com
    
    PHPINIDir /var/www/html/example
    
    </VirtualHost>
    

    PHPINIDir should be the directory where the file php.ini resides.

    Restart the apache after this

    [root]# service httpd restart # for Fedora/Redhat/CenOS based systems

    [chia]$ sudo apache2 restart # for Debian/Ubuntu based systems

    0 讨论(0)
提交回复
热议问题