PHP配置

1、基础设置

查看php文件

[root@lamp www.1111.com]#  /usr/local/php/bin/php -i|grep -i "loaded configuration file"
Loaded Configuration File => /usr/local/php/etc/php.ini
PHP Warning:  Unknown: It is not safe to rely on the system's timezone settings. You are *required* to use the date.timezone setting or the date_default_timezone_set() function. In case you used any of those methods and you are still getting this warning, you most likely misspelled the timezone identifier. We selected the timezone 'UTC' for now, but please set date.timezone to select your timezone. in Unknown on line 0

去掉Warning

vim /usr/local/php/etc/php.ini
搜素 timezone 把 date.timezone =   前的:去掉 然后在=后加上时间 (Asia/shanghai)

disable_functions 防止黑客上传病毒解析

vim /usr/local/php/etc/php.ini
搜索 disable_functions 在=后填写 eval,assert,popen,passthru,escapeshellarg,escapeshellcmd,passthru,exec,system,chroot,scandir,chgrp,chown,escapeshellcmd,escapeshellarg,shell_exec,proc_get_status,ini_alter,ini_restore,dl,pfsockopen,openlog,syslog,readlink,symlink,leak,popepassthru,stream_socket_server,popen,proc_open,proc_close phpinfo

2、日志配置

关闭展示错误

vim /usr/local/php/etc/php.ini
搜索display_errors 将 on 改为 off

配置错误日志路径

vim /usr/local/php/etc/php.ini
搜索 log_errors 改为 on 开启
搜索 error_log 将 ; 去掉

open_basedir 安全选项

vim /usr/local/php/etc/php.ini
搜索 open_basedir 把 open_basedir = 前的#号删除 填写
   /usr/local/apache2.4/docs/www.1111.com:/tmp 表示只能通过这两个目录

针对虚拟主机做一个open_basedir

1、配置文件

在虚拟主机配置里修改
  vim /usr/local/apache2.4/conf/extra/httpd-vhosts.conf
 内容为
   <VirtualHost *:80>
    ServerAdmin webmaster@dummy-host.example.com
    DocumentRoot "/usr/local/apache2.4/docs/www.1111.com"
    ServerName www.1111.com
    ServerAlias 1111.com
    php_admin_value open_basedir "/usr/local/apache2.4/docs/www.1111.com/upload"
     ErrorLog "logs/www.1111.com-error_log"
    CustomLog "logs/www.1111.com-access_log" combined
</VirtualHost>

2、测试

是否出错
   /usr/local/apache2.4/bin/apachectl -t
Syntax OK
重新加载
  /usr/local/apache2.4/bin/apachectl graceful
测试
  [root@lamp upload]# curl -xlocalhost:80 www.1111.com/admin.php -I
                      HTTP/1.0 500 Internal Server Error
                      Date: Sat, 17 Jul 2021 11:20:36 GMT
                      Server: Apache/2.4.46 (Unix) PHP/5.6.39
                      X-Powered-By: PHP/5.6.39
                      Connection: close
                      Content-Type: text/html; charset=UTF-8
 ## 测试状态码为500 无法访问
  
[root@lamp upload]# curl -xlocalhost:80 www.1111.com/upload/123.php -I
                    HTTP/1.1 200 OK
                    Date: Sat, 17 Jul 2021 11:21:06 GMT
                    Server: Apache/2.4.46 (Unix) PHP/5.6.39
                    X-Powered-By: PHP/5.6.39
                    Content-Type: text/html; charset=UTF-8
 ## 测试状态码为200 成功111

[root@lamp upload]# curl -xlocalhost:80 www.1111.com/upload/123.php 
php测评

3、PHP动态扩展模块安装

1、解压安装包
   tar -zxvf redis-2.2.3.tgz
2、生成configure文件
    [root@lamp redis-2.2.3]# /usr/local/php/bin/phpize 
                             Configuring for:
                             PHP Api Version:         20131106
                             Zend Module Api No:      20131226
                             Zend Extension Api No:   220131226
3、执行./configure
       ./configure --with-php-config=/usr/local/php/bin/php-config
4、执行make
      make
      make install
5、查看扩展模块所在目录
    [root@lamp redis-2.2.3]# /usr/local/php/bin/php -i |grep extension_dir
     extension_dir => /usr/local/php/lib/php/extensions/no-debug-zts-20131226 => /usr/local/php/lib/php/extensions/no-debug-zts-20131226
      sqlite3.extension_dir => no value => no value
6、查看redis
    [root@lamp redis-2.2.3]# ls /usr/local/php/lib/php/extensions/no-debug-zts-20131226
    opcache.so  redis.so
7、修改配置文件
    vim /usr/local/php/etc/php.ini
    在末端加入一行
    extension = redis.so
8、查看是否有问题
   [root@lamp redis-2.2.3]# /usr/local/apache2.4/bin/apachectl -t
   Syntax OK
9、重启
   /usr/local/apache2.4/bin/apachectl gracefu
10、查看PHP加载的模块
   /usr/local/php/bin/php -m
posted @ 2021-08-04 14:08  发进  阅读(41)  评论(0)    收藏  举报