一、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. Zabbix4.2.0基本配置和邮件报警

    目录 1. 修改中文 2. 添加监控本机 3. 监控本机mysql 4. 配置邮件报警 4.1 添加FTP模板 4.2 报警媒介类型 4.3 配置报警到用户 4.4 配置动作 4.5 模拟FTP故障 ...

  2. Eureka编程

    在一些场景下,我们需要监听eureka服务中心的一些状态,譬如某个微服务挂掉了,我们希望能监听到,并给管理员发送邮件通知或钉钉告警. 一.Eureka的监听事件,可以用来监控.告警EurekaInst ...

  3. Python和Java编程题(一)

    今天偶尔看到一个博客有贴了五十个编程题,决定以后两天左右做一道题 题目来源:http://blog.sina.com.cn/s/blog_60fafdda0100wb21.html 1.题目 一个数如 ...

  4. memcached优化方案实例

    <?php //引入memcached require_once '../class/memcached.class.php'; //连接MySQL $link = mysqli_connect ...

  5. VirtualBox安装CentOS7

    一:.下载CentOS7的镜像 下载地址:https://www.centos.org/download/ 进入后有三个版本可以选择: 1.DVD ISO  标准安装版,一般下载这个就可以了(推荐)本 ...

  6. C#关键字的使用

    params object[] 用于函数多参数的定义 public static void Write(string format, params object[] arg);   explicit  ...

  7. MVC EF 执行SQL语句(转载)

    MVC EF 执行SQL语句 最近悟出来一个道理,在这儿分享给大家:学历代表你的过去,能力代表你的现在,学习代表你的将来. 十年河东十年河西,莫欺少年穷 学无止境,精益求精 闲着没事,看了一篇关于LI ...

  8. 检测到是移动端还是PC端进入页面,加载不同样式表现

    if(/AppleWebKit.*mobile/i.test(navigator.userAgent) || (/MIDP|SymbianOS|NOKIA|SAMSUNG|LG|NEC|TCL|Alc ...

  9. MVC基础篇—控制器与视图数据的传递

    Viewdata,Viewbag,Tempdata 1  Vewdata:简单来说就是数据字典,通过键值对的形式来存放数据.举例如下: //后台控制器代码: public ActionResult V ...

  10. dotnet 从入门到放弃的 500 篇文章合集

    本文是记录我从入门到放弃写的博客 博客包括 C#.WPF.UWP.dotnet core .git 和 VisualStudio 和一些算法,所有博客使用 docx 保存 下载:dotnet 从入门到 ...