一、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框架遇到的几个错误的更多相关文章

  1. Scut游戏服务器免费开源框架-3

    Scut游戏服务器免费开源框架--快速开发(3) Scut快速开发(3) 1        开发环境 需要安装的软件 a)        消息队列 b)        数据库,Sql2005以上版本 ...

  2. 关于wcf异常异常信息:由于内部错误,服务器无法处理该请求。有关该错误的详细信息,请打开服务器上的 IncludeExceptionDetailInFaults (从 ServiceBehaviorAttribut

    异常信息:由于内部错误,服务器无法处理该请求.有关该错误的详细信息,请打开服务器上的 IncludeExceptionDetailInFaults (从 ServiceBehaviorAttribut ...

  3. Microsoft JScript 运行时错误: Sys.WebForms.PageRequestManagerParserErrorException无法分析从服务器收到的消息。之所以出现此错误,

    Microsoft JScript 运行时错误: Sys.WebForms.PageRequestManagerParserErrorException: 无法分析从服务器收到的消息.之所以出现此错误 ...

  4. ThinkPHP3.2.3版本框架could not find driver错误

    ThinkPHP3.2.3版本框架could not find driver错误 在更新ThinkPHP框架 3.2.3 时出现错误 解决方法如下: 修改php.ini文件 extension=php ...

  5. 用winscp从本地上传文件到服务器上出现复制文件到远端时错误。

    用winscp从本地上传文件到服务器上出现复制文件到远端时错误. 错误码:4 服务器返回的错误消息:write failed 报错如下图所示: 分析过程: 1.刚开始以为是权限不够,后面上网查了一下是 ...

  6. Maven依赖中的scope详解,在eclipse里面用maven install可以编程成功,到服务器上用命令执行报VM crash错误

    Maven依赖中的scope详解 项目中用了<scope>test</scope>在eclipse里面用maven install可以编译成功,到服务器上用命令执行报VM cr ...

  7. TP5框架 nginx服务器 配置域名 隐藏index.php

    server { listen ; #server_name localhost; server_name hhy.com;/**这里写自己的域名*/ #charset koi8-r; #access ...

  8. 服务器、应用框架、MVC、MTV

    web服务器:负责处理http请求,响应静态文件,常见的有Apache,Nginx以及微软的IIS. 应用服务器:负责处理逻辑的服务器.比如php.python的代码,是不能直接通过nginx这种we ...

  9. LNMP包环境下使用TP5框架通过ODBC连接MSSQL方案

    本文主要介绍了如何在linux下使用php语言的thinkphp5框架通过pdo_odbc的方式连接MSSQL的方案步骤: 1.下载微软官方发布的ODBC驱动包 Red Hat 5/6:https:/ ...

随机推荐

  1. salesforce lightning零基础学习(九) Aura Js 浅谈二: Event篇

    上一篇介绍了Aura Framework中 Component类的部分方法,本篇将要介绍Event常用的方法. 1. setParam (String key , Object value):设置事件 ...

  2. 从零开始学 Web 之 jQuery(二)获取和操作元素的属性

    大家好,这里是「 从零开始学 Web 系列教程 」,并在下列地址同步更新...... github:https://github.com/Daotin/Web 微信公众号:Web前端之巅 博客园:ht ...

  3. IDEA之Git分支以及Stash使用

    访问我的博客 随着公司开发人员的增加,以及多需求的并行开发,功能上线就会碍手碍脚:害怕自己没写完的代码被别人部署到线上,害怕别人代码没写完被自己部署到线上:总之功能上线之前还要和所有开发沟通,能不能部 ...

  4. 反调试手法之CreateProcess反调试

    反调试手法之CreateProcess反调试 在学习Win32 创建进程的时候.我们发现了有一个进程信息结构体. STARTUPINFO. 这个结构体可以实现反调试. 具体CreateProcess可 ...

  5. python实现定时任务

    定时任务的实现方式有很多种,如windows服务,借助其他定时器jenkins运行脚本等方式.本文介绍的是python中的一个轻量级模块schedule. 安装 pip命令:pip install s ...

  6. C++ 重载运算符简单举例

    我们可以重定义或重载大部分 C++ 内置的运算符.这样,就能使用自定义类型的运算符. 重载的运算符是带有特殊名称的函数,函数名是由关键字 operator 和其后要重载的运算符符号构成的.与其他函数一 ...

  7. OOP 面向对象的理解

    概念 面向对象编程(OOP)是一种编程语言模型,围绕对象是行为.数据.逻辑. 从历史上看,程序被视为一种逻辑程序,它接收输入数据,处理数据并生成输出数据. 基础 面向对象的3大核心思想:封装.继承.多 ...

  8. [转]完整记录在 windows7 下使用 docker 的过程

    本文转自:https://www.jianshu.com/p/d809971b1fc1 借助 docker 可以不在开发电脑中安装环境,比如 nodejs,记录下如何实现. 下载安装 根据自己的电脑系 ...

  9. 在EF中执行SQL语句(转载)

    在EF中执行SQL语句   你可能要问,我用EF不就为了避免写SQL吗?如果要写SQL我不如直接用ADO.NET得了.话虽然这么说没错,可有些时候使用EF操作数据还是有一些不方便,例如让你根据条件删除 ...

  10. [Laravel] Laravel的基本使用

    [Laravel] Laravel的基本HTTP路由 使用Laravel的基本路由,实现get请求响应,找到文件app/Http/routes.php 调用Route的静态方法get(),实现get响 ...