PHP 服务器及TP5框架遇到的几个错误

2018-06-22 05:40:07来源:未知 阅读 ()

新老客户大回馈,云服务器低至5折

一、Call to undefined function imagecreatefrompng():

LAMP环境搭建的博客,在提交内容的时候TP5框架报了一个错误,Call to undefined function imagecreatefrompng();  出现这个问题一般都是GD库未正确安装或配置,在服务器上查询是否安装输入命令:

php -m grep -i gd

并没有找到GD库,原来是没有安装GD库,在centOS系统上安装GD库可以直接用yum install,命令: 

yum install -y php-gd

安装完成后重启apache: 

service httpd restart

刷新页面重新提交搞定:

 

二、mkdir() Permission denied:

在使用TP5框架开发中,网站域名更换为另外一个,原站点没有删除,只是把源代码重新copy一份配置了一个新的域名,在浏览器中访问的时候出现了"mkdir() Permission denied"权限被拒绝的错误,这说明你没有开放TP框架内runtime目录的权限,登陆服务器找到/var/www/html/TP5/runtime目录,修改目录权限为777,命令:

chmod -R 777 runtime

改runtime目录表示对所有人开放,修改完成后到浏览器重新输入网址一切正常.

 

三、Call to undefined function Think\mb_strlen():

实际过程中遇到上述错误,有的人说未开启php_mbstring拓展,找到php.ini配置文件,不知道位置的可以用命令:

find / -name 'php.ini'

在php.ini文件中找到 ;extension=php_mbstring.dll ;把前面的;去掉即可,我找了一下发现没有找到这个拓展,这时候查看/etc/php.d目录,里面是所有的PHP拓展,并没有php_mbstring,这时候可以用命令安装php_mbstring;

 yum install -y php-mbstring

安装完成后会在/etc/php.d目录里看到一个mbstring.ini的配置文件,这说明已经安装成功,重启php-fpm即可:

 

四、禁止Apache显示目录列表

在实际应用中遇到一个web代码执行漏洞,如下图:

出现这种情况的原因就是如果我们通过URL访问一个目录时,并且该目录开启了自动列表功能,那么目录所包含的文件就会被自动的以列表的形式显示出来,这样就有可能导致上图中敏感数据泄露,解决这个问题需要修改apache的配置文件httpd.conf;

1.找到Options Indexes FollowSymLinks 并改为 Options FollowSymLinks;

2.找到以下代码:

<Directory "/var/www">
    AllowOverride None
    Options Indexes //此处需要修改为Options None
    Order allow,deny
    Allow from all
</Directory>

将上面代码中的Options Indexes改为Options None即可,根据apache版本的不同,配置文件可能不是完全相同,最好全局搜索一下再做修改,保存完成后重启apache:

service httpd start

 

另附上LAMP环境搭建常用的一些基础命令:

PHP:

1.检查当前安装的PHP包

yum list installed | grep php

2.查看可安装的PHP版本:

yum list php*

3.安装某个版本的PHP(php-fpm.x86_64为PHP版本号,可以直接替换成你想安装的版本)

yum -y install php-fpm.x86_64

4.卸载已安装的PHP包

yum remove php-fpm.x86_64

 

Aaache:

1.检查已安装的apache

yum list installed httpd*

2.查看可安装的apache版本

yum list httpd*

3.安装某个版本的apache

yum install httpd24-httpd

4.卸载已安装的apache包

yum remove httpd24-httpd

 

MySQL:

1.检查已安装的MySQL

yum list mysql*

2.安装MySQL

yum install mysql

3.删除已安装的MySQL

yum remove mysql

 

启动服务命令:

service php-fpm start
service httpd start 
service mysqld start

停止服务命令:

service php-fpm stop
service httpd stop
service mysqld  stop

重启服务:

service php-fpm restart
service httpd  restart
service mysqld  restart

另外LAMP环境的扩展也可以直接用yum install安装,例如上述安装GD库扩展: 

yum install -y php-gd

标签:

版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有

上一篇:最全面的菠菜源码下载,支持修复,二次开发皇冠体育赛事

下一篇:PHP APP端支付宝支付