PHP配置,PHP模块安装
来源:互联网 发布:中国联通软件开发待遇 编辑:程序博客网 时间:2024/05/17 21:42
11.30-11.32 PHP配置,PHP模块安装
php.ini文件基本配置
可以写一个页面,内容如下:
<?phpphpinfo();?>
用这种方式可以找到php.ini文件应该放置的位置。也可以看到其是否已经加载。然后到php的src中寻找配置文件复制到此目录。
Configuration File (php.ini) Path /usr/local/php7/etc //查找其应该所在的位置Loaded Configuration File /usr/local/php7/etc/php.ini
[root@cent01 php-7.1.6]# cp /usr/local/src//php-7.1.6/php.ini-development /usr/local/php7/etc/php.ini //复制php.ini文件到其应该在的位置[root@cent01 php-7.1.6]# vim /usr/local/php7/etc/php.ini //编辑配置文件timezone=Asia/Shanghai //设置时区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函数,因为这条函数会暴露系统的信息带来一定风险error_log //值设为onlog_errors //值设为/tmp/php_errors.logerror_reporting //值设为E_ALL & E_NOTICEdisplay_errors // 值设为off,因为这条信息是显示在客户端浏览器上的。这会暴露系统信息[root@cent01 php-7.1.6]# /usr/local/apache2.4/bin/apachectl -t[root@cent01 php-7.1.6]# /usr/local/apache2.4/bin/apachectl graceful //重新加载配置文件[root@cent01 php-7.1.6]# cat /tmp/php_errors.log //查看错误日志[13-Nov-2017 22:25:05 Asia/Shanghai] PHP Warning: phpinfo() has been disabled for security reasons in /data/wwwroot/111.com/1.php on line 2[13-Nov-2017 22:30:15 Asia/Shanghai] PHP Parse error: syntax error, unexpected end of file in /data/wwwroot/111.com/2.php on line 4[13-Nov-2017 22:30:20 Asia/Shanghai] PHP Parse error: syntax error, unexpected end of file in /data/wwwroot/111.com/2.php on line 4
open_basedir
有时候会在一个服务器上跑多个网站,为了确保一个网站被黑时不会导致另一个网站也被黑,这时可以用open_basedir设置来管理。
虽然可以在php.ini文件中设置,但是在这里设备并不适用于一台服务器上有多个网站时。所以还有更好的方法是在httpd-vhost文件上进行设置。
//在php.ini文件中设置[root@cent01 php-7.1.6]# vim /usr/local/php7/etc/php.ini //编辑配置文件open_basedir =/data/wwwroot/111.com/:/tmp/ //两个目录用:隔开[root@cent01 php-7.1.6]# /usr/local/apache2.4/bin/apachectl -t[root@cent01 php-7.1.6]# /usr/local/apache2.4/bin/apachectl graceful //重新加载配置文件
//在httpd-vhost文件中设置<VirtualHost *:80> DocumentRoot "/data/wwwroot/abc.com" ServerName abc.com ServerAlias www.abc.com www.123.com ErrorLog "logs/abc.com-error_log" php_admin_value open_basedir "/data/wwwroot/111.com/:/tmp/" //语句为php_admin_value CustomLog "logs/abc.com-access_log" combined</VirtualHost><VirtualHost *:80> DocumentRoot "/data/wwwroot/111.com" ServerName 111.com ServerAlias www.example.com 111.com php_admin_value open_basedir "/data/wwwroot/111.com/:/tmp/" ErrorLog "logs/111.com-error_log" CustomLog "|/usr/local/apache2.4/bin/rotatelogs -l logs/111.com-access_%Y%m%d.log 86400 " combined</VirtualHost>
php动态模块安装
php一旦编译完成后,如果想添加新的模块,要么重新编译php,要么编译一个扩展模块(so文件),然后在php.ini中配置一下,就可以被加载使用了。
/usr/local/php/bin/php -m //查看已经加载了哪些模块
举例安装php redis模块:
[root@cent01 php-7.1.6]# cd /usr/local/src[root@cent01 src]# wget https://codeload.github.com/phpredis/phpredis/zip/develop[root@cent01 src]# mv develop phpredis-develop.zip[root@cent01 src]# unzip phpredis-develop.zip [root@cent01 src]# cd phpredis-develop/[root@cent01 phpredis-develop]# ls //没有看到configure文件arrays.markdown config.m4 debian library.h README.markdown redis.c redis_session.ccluster_library.c config.w32 debian.control m[root@cent01 phpredis-develop]# yum install -y autoconf[root@cent01 phpredis-develop]# /usr/local/php7/bin/phpize //用php自带的phpize生成configure文件Configuring for:PHP Api Version: 20160303Zend Module Api No: 20160303Zend Extension Api No: 320160303[root@cent01 phpredis-develop]# ls //configure文件出现了acinclude.m4 common.h COPYING library.c package.xml redis_cluster.c serialize.listaclocal.m4 config.guess crc16.h library.h php_redis.h redis_cluster.h tests configure [root@cent01 phpredis-develop]# ./configure --with-php-config=/usr/local/php7/bin/php-config //编译[root@cent01 phpredis-develop]# make&&make installInstalling shared extensions: //显示生成的redis.so文件的存放目录 /usr/local/php7/lib/php/extensions/no-debug-zts-20160303/[root@cent01 phpredis-develop]# ls //确实有redis.so文件/usr/local/php7/lib/php/extensions/no-debug-zts-20160303/opcache.so redis.so[root@cent01 phpredis-develop]# vim /usr/local/php7/etc/php.ini //编辑配置文件,搜索extension,添加extension=redis.so[root@cent01 phpredis-develop]# /usr/local/php7/bin/php -m //可以看到redis.so已经被调用了[PHP Modules]bz2ctyperedis//各种设置完成后,重启httpd就可以使用了[root@cent01 phpredis-develop]# /usr/local/apache2.4/bin/apachectl restart
阅读全文
0 0
- PHP配置,PHP模块安装
- memcache PHP模块安装配置
- PHP配置、扩展模块安装
- Apache配置PHP模块
- Apache 配置 php 模块
- PHP超级配置模块
- php 配置 mcrypt模块
- PHP配置UUID模块
- PHP readline 模块安装
- freebsd 安装 php 模块
- 安装PHP模块
- php安装redis模块
- php安装mcrypt模块
- 安装php模块igbinary
- PHP安装ssh模块
- PHP扩展模块安装
- php 安装gd模块
- php 扩展模块安装
- 笔记:udacity计算机导论
- 使用dedecms系统错误调试
- 利用模板类迭代器实现链表
- 60. Permutation Sequence
- dedecms登录后台是白板的问题
- PHP配置,PHP模块安装
- [Python数据分析-01]Pandas数据结构之Series
- spark开发环境搭建(idea和maven)
- Django网站建设-GMOOC-后台管理系统
- h5学习笔记:flex
- 20171114
- 10.4单链表基本运算
- 【docker】简介
- Node遍历目录中的文件