PHP 服务器及TP5框架遇到的几个错误
一、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
Apache:
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
PHP 服务器及TP5框架遇到的几个错误的更多相关文章
- Scut游戏服务器免费开源框架-3
Scut游戏服务器免费开源框架--快速开发(3) Scut快速开发(3) 1 开发环境 需要安装的软件 a) 消息队列 b) 数据库,Sql2005以上版本 ...
- 关于wcf异常异常信息:由于内部错误,服务器无法处理该请求。有关该错误的详细信息,请打开服务器上的 IncludeExceptionDetailInFaults (从 ServiceBehaviorAttribut
异常信息:由于内部错误,服务器无法处理该请求.有关该错误的详细信息,请打开服务器上的 IncludeExceptionDetailInFaults (从 ServiceBehaviorAttribut ...
- Microsoft JScript 运行时错误: Sys.WebForms.PageRequestManagerParserErrorException无法分析从服务器收到的消息。之所以出现此错误,
Microsoft JScript 运行时错误: Sys.WebForms.PageRequestManagerParserErrorException: 无法分析从服务器收到的消息.之所以出现此错误 ...
- ThinkPHP3.2.3版本框架could not find driver错误
ThinkPHP3.2.3版本框架could not find driver错误 在更新ThinkPHP框架 3.2.3 时出现错误 解决方法如下: 修改php.ini文件 extension=php ...
- 用winscp从本地上传文件到服务器上出现复制文件到远端时错误。
用winscp从本地上传文件到服务器上出现复制文件到远端时错误. 错误码:4 服务器返回的错误消息:write failed 报错如下图所示: 分析过程: 1.刚开始以为是权限不够,后面上网查了一下是 ...
- Maven依赖中的scope详解,在eclipse里面用maven install可以编程成功,到服务器上用命令执行报VM crash错误
Maven依赖中的scope详解 项目中用了<scope>test</scope>在eclipse里面用maven install可以编译成功,到服务器上用命令执行报VM cr ...
- TP5框架 nginx服务器 配置域名 隐藏index.php
server { listen ; #server_name localhost; server_name hhy.com;/**这里写自己的域名*/ #charset koi8-r; #access ...
- 服务器、应用框架、MVC、MTV
web服务器:负责处理http请求,响应静态文件,常见的有Apache,Nginx以及微软的IIS. 应用服务器:负责处理逻辑的服务器.比如php.python的代码,是不能直接通过nginx这种we ...
- LNMP包环境下使用TP5框架通过ODBC连接MSSQL方案
本文主要介绍了如何在linux下使用php语言的thinkphp5框架通过pdo_odbc的方式连接MSSQL的方案步骤: 1.下载微软官方发布的ODBC驱动包 Red Hat 5/6:https:/ ...
随机推荐
- MapReduce业务 - 图片关联计算
1.概述 最近在和人交流时谈到数据相似度和数据共性问题,而刚好在业务层面有类似的需求,今天和大家分享这类问题的解决思路,分享目录如下所示: 业务背景 编码实践 预览截图 下面开始今天的内容分享. 2. ...
- 从字节码层面看“HelloWorld”
一.HelloWorld 字节码生成 众所周知,Java 程序是在 JVM 上运行的,不过 JVM 运行的其实不是 Java 语言本身,而是 Java 程序编译成的字节码文件.可能一开始 JVM 是为 ...
- (转)eclipse上传项目到码云
把Eclipse项目上传到码云的步骤: 1.登录码云:新建项目 2.输入项目名: 3.空项目创建成功如下图: 4.右键点击Eclipse的项目,选择“Team”—————->“Share Pro ...
- 深度学习之PyTorch实战(3)——实战手写数字识别
上一节,我们已经学会了基于PyTorch深度学习框架高效,快捷的搭建一个神经网络,并对模型进行训练和对参数进行优化的方法,接下来让我们牛刀小试,基于PyTorch框架使用神经网络来解决一个关于手写数字 ...
- 团队作业4——beta阶段冲刺
Deadline: 2018-12-16 22:00PM,以博客提交至班级博客时间为准 提交: (a) 项目课堂演示: (b) 1篇冲刺准备+5篇冲刺随笔,: (c) 1篇用户使用用报告: (d) 1 ...
- 基于xlua和mvvm的unity框架
1.框架简介 这两天在Github上发现了xlua的作者车雄生前辈开源的一个框架—XUUI,于是下载下来学习了一下.XUUI基于xlua,又借鉴了mvvm的设计概念.xlua是目前很火的unity热更 ...
- 初始mvc4(一) 新建项目
mvc4和mvc4.5基本大同小异,vs2012中已经集成了mvc,不需要手动安装了,现在就来看看如何新建mvc项目 一.首先打开vs2012,新建项目,选中web中mvc4 二.选择项目模板 这里面 ...
- Mybatis 3 配置 Log4j
Mybatis与Log4j 最常用的日志输出是Log4j,将相应的jar包和配置文件放到相应的位置,Mybatis就可以通过Log4j将SQL语句打印出来. 配置Log4j.properties 将l ...
- Web前端基础——jQuery(三)
本文主要从以下几方面介绍jQuery应用中的内容: 1 jQuery 节点遍历2 jQuery 中的过滤器3 jQuery 属性操作4 jQuery Dom节点操作5 几个jQuery例子6 jQue ...
- 了解java虚拟机—在TALB上分配对象(10)
由于对象一般会分配在堆上,而堆是全局共享的.因此在同一时间,可能有多个线程在堆上申请空间.每次对象分内都必须要进行同步,因此TLAB这种线程专属的区域来避免多线程冲突.TLAB本身占用了eden区的空 ...