解决服务器上部署PHP程序异常

简介: 服务器环境部署遇到的问题解决方案MySQL拓展代码缺胶水总结今天记录一下,在部署PHP程序的时候遇到的一个小问题。服务器环境操作系统: 阿里云学生机 Ubuntu14.04服务器: Apache2PHP版本: php5数据库: MySQL5.2.3部署遇到的问题在本地调试完成之后,大致的测试了一下。

今天记录一下,在部署PHP程序的时候遇到的一个小问题。

服务器环境

  • 操作系统: 阿里云学生机 Ubuntu14.04

  • 服务器: Apache2

  • PHP版本: php5

  • 数据库: MySQL5.2.3

部署遇到的问题

在本地调试完成之后,大致的测试了一下。发现没什么问题。但是上传到服务器上就会出错。

错误码: 500

服务器内部错误,最后debug后发现是php链接mysql的时候出的错。

解决方案

MySQL拓展?

一开始还觉得是php中未开启相关于MySQL的拓展。
查看是否开启拓展的方法也很简单,一般可采用如下两种方式。

  • 到安装了php5的目录下查看php.ini文件。找到mysql模块的位置,看看前面的;是否去掉。

  • 在Apache的运行目录(默认的话是/var/www/html/)下新建一个php文件。里面写上<?php echo phpinfo(); ?> 。再就是通过浏览器来访问这个文件。然后就可以查看mysql拓展是否安装了。

代码?

经历了上面的阶段,如果没出错,那就得怀疑一下自己的代码了。

毕竟很有可能在传输过程中出错嘛,那么怎么查看文件是否有缺损呢?一般来说还是有两种比较常用的方法。

  • 死磕: 也就是对照本地文件,一字不差的检查服务器上的文件是否出错。但是这个方法只适用于小文件,不然效率不高,还会很累。

  • 第二个方法就是查看MD5和的方法,在Linux上很容易实现,如果您的电脑是windows,也可以自己着手写一个脚本(这对于咱们程序员来说,应该是小菜一碟的啦)。在Ubuntu上我就直接调用一下命令算了:

    md5sum filename

然而,不管我怎么看,服务器上的代码都是没有错,那为什么会链接数据库失败呢。这个时候感觉可能是权限的问题了,但是最后也否定了这个思路。

“缺胶水”?

最后,还是在阿里的云栖社区找到了答案。

在Windows上配置时,要在PHP里面加载 MySQL的dll。那在Linux系统中也需要的吧!

这句话瞬间点醒了我。虽然我对于Windows下是否添加了dll支持也不得而知,因为当时只记得安装完就可以访问,所以也没多想。

看来有些时候这看似正常,其实不正常;看似不正常,反而正常。这句话还是很有道理的。

然后估计就是缺少了这个”胶水“才导致的代码出错吧。然后就装一下吧。


安装认证及依赖库

sudo apt-get install libapache2-mod-auth-mysql

安装php-mysql ”胶水“

sudo apt-get install php5-mysql

重启apache服务器,让”胶水“生效

sudo /etc/init.d/apache2 restart

最后,没想到真的成功了。
体重走势图

总结

平时总会遇到一些奇奇怪怪的问题,林林总总。适时的收集起来,整理分类。写好解决方案,对自己以后的发展必然会有莫大的帮助。

这次的”部署难题“着实给我上了一课。

相关实践学习
每个IT人都想学的“Web应用上云经典架构”实战
本实验从Web应用上云这个最基本的、最普遍的需求出发,帮助IT从业者们通过“阿里云Web应用上云解决方案”,了解一个企业级Web应用上云的常见架构,了解如何构建一个高可用、可扩展的企业级应用架构。
MySQL数据库入门学习
本课程通过最流行的开源数据库MySQL带你了解数据库的世界。 &nbsp; 相关的阿里云产品:云数据库RDS MySQL 版 阿里云关系型数据库RDS(Relational Database Service)是一种稳定可靠、可弹性伸缩的在线数据库服务,提供容灾、备份、恢复、迁移等方面的全套解决方案,彻底解决数据库运维的烦恼。 了解产品详情:&nbsp;https://www.aliyun.com/product/rds/mysql&nbsp;
目录
相关文章
|
2月前
|
域名解析 运维 监控
如何检测服务器是否被入侵?解析5大异常指标
本文系统介绍了服务器入侵的五大检测维度:硬件资源、网络流量、系统日志、文件完整性及综合防护。涵盖CPU、内存异常,可疑外联与隐蔽通信,登录行为审计,关键文件篡改识别等内容,并提供实用工具与防护建议,助力运维人员快速发现潜在威胁,提升系统安全防御能力。转载链接:https://www.ffy.com/latest-news/1916688607247077376
243 0
如何检测服务器是否被入侵?解析5大异常指标
|
2月前
|
弹性计算 人工智能 前端开发
在阿里云ECS上部署n8n自动化工作流:U2实例实战
本文介绍如何在阿里云ECS的u2i/u2a实例上部署开源工作流自动化平台n8n,利用Docker快速搭建并配置定时任务,实现如每日抓取MuleRun新AI Agent并推送通知等自动化流程。内容涵盖环境准备、安全组设置、实战案例与优化建议,助力高效构建低维护成本的自动化系统。
586 5
|
2月前
|
Java Linux Apache
在CentOS服务器上编译并部署NiFi源码
部署Apache NiFi在CentOS上是一个涉及细节的过程,需要注意Java环境、源码编译、配置调整等多个方面。遵循上述步骤,可以在CentOS服务器上成功部署和配置Apache NiFi,从而高效地处理和分发数据。
177 17
|
2月前
|
存储 监控 算法
基于 PHP 布隆过滤器的局域网监控管理工具异常行为检测算法研究
布隆过滤器以其高效的空间利用率和毫秒级查询性能,为局域网监控管理工具提供轻量化异常设备检测方案。相比传统数据库,显著降低延迟与资源消耗,适配边缘设备部署需求,提升网络安全实时防护能力。(238字)
164 0
|
3月前
|
弹性计算 安全 Linux
使用阿里云服务器安装Z-Blog博客网站流程,新手一键部署教程
本教程教你如何在阿里云99元服务器上,通过宝塔Linux面板一键部署Z-Blog博客。基于CentOS 7.9系统,从远程连接、安装宝塔面板、开放端口到部署Z-Blog全流程详解,操作简单,新手也能轻松搭建个人博客网站。
461 13
|
3月前
|
弹性计算 Devops Shell
用阿里云 DevOps Flow 实现 ECS 部署自动化:从准备到落地的完整指南
阿里云 DevOps Flow 是一款助力开发者实现自动化部署的高效工具,支持代码流水线构建、测试与部署至ECS实例,显著提升交付效率与稳定性。本文详解如何通过 Flow 自动部署 Bash 脚本至 ECS,涵盖环境准备、流水线搭建、源码接入、部署流程设计及结果验证,助你快速上手云上自动化运维。
296 0
监控 安全 Linux
151 0
|
4月前
|
监控 Java Linux
Apache NiFi项目的编译与部署于CentOS服务器
总而言之,Apache NiFi的编译和部署虽然涉及多个步骤,但这些操作步骤简明扼要,即使是不太熟悉Java或Maven的用户也能跟随指南完成。通过遵循上述步骤,您将能够在CentOS服务器上成功部署Apache NiFi,为您的数据流处理任务建立一个功能强大的平台。
340 16