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

本文涉及的产品
云数据库 RDS MySQL,集群系列 2核4GB
推荐场景:
搭建个人博客
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
云数据库 RDS MySQL,高可用系列 2核4GB
简介: 服务器环境部署遇到的问题解决方案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

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

总结

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

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

相关实践学习
如何快速连接云数据库RDS MySQL
本场景介绍如何通过阿里云数据管理服务DMS快速连接云数据库RDS MySQL,然后进行数据表的CRUD操作。
全面了解阿里云能为你做什么
阿里云在全球各地部署高效节能的绿色数据中心,利用清洁计算为万物互联的新世界提供源源不断的能源动力,目前开服的区域包括中国(华北、华东、华南、香港)、新加坡、美国(美东、美西)、欧洲、中东、澳大利亚、日本。目前阿里云的产品涵盖弹性计算、数据库、存储与CDN、分析与搜索、云通信、网络、管理与监控、应用服务、互联网中间件、移动服务、视频服务等。通过本课程,来了解阿里云能够为你的业务带来哪些帮助 &nbsp; &nbsp; 相关的阿里云产品:云服务器ECS 云服务器 ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,助您降低 IT 成本,提升运维效率,使您更专注于核心业务创新。产品详情: https://www.aliyun.com/product/ecs
目录
相关文章
|
2月前
|
缓存 监控 网络安全
因服务器时间不同步引起的异常
因服务器时间不同步引起的异常
139 1
|
2月前
|
弹性计算 监控 负载均衡
|
2月前
|
弹性计算 开发工具 git
2分钟在阿里云ECS控制台部署个人应用(图文示例)
作为一名程序员,我在部署托管于Github/Gitee的代码到阿里云ECS服务器时,经常遇到繁琐的手动配置问题。近期,阿里云ECS控制台推出了一键构建部署功能,简化了这一过程,支持Gitee和GitHub仓库,自动处理git、docker等安装配置,无需手动登录服务器执行命令,大大提升了部署效率。本文将详细介绍该功能的使用方法和适用场景。
2分钟在阿里云ECS控制台部署个人应用(图文示例)
|
2月前
|
XML 前端开发 JavaScript
PHP与Ajax在Web开发中的交互技术。PHP作为服务器端脚本语言,处理数据和业务逻辑
本文深入探讨了PHP与Ajax在Web开发中的交互技术。PHP作为服务器端脚本语言,处理数据和业务逻辑;Ajax则通过异步请求实现页面无刷新更新。文中详细介绍了两者的工作原理、数据传输格式选择、具体实现方法及实际应用案例,如实时数据更新、表单验证与提交、动态加载内容等。同时,针对跨域问题、数据安全与性能优化提出了建议。总结指出,PHP与Ajax的结合能显著提升Web应用的效率和用户体验。
61 3
|
2月前
|
NoSQL 容灾 MongoDB
MongoDB主备副本集方案:两台服务器使用非对称部署的方式实现高可用与容灾备份
在资源受限的情况下,为了实现MongoDB的高可用性,本文探讨了两种在两台服务器上部署MongoDB的方案。方案一是通过主备身份轮换,即一台服务器作为主节点,另一台同时部署备节点和仲裁节点;方案二是利用`priority`设置实现自动主备切换。两者相比,方案二自动化程度更高,适合追求快速故障恢复的场景,而方案一则提供了更多的手动控制选项。文章最后对比了这两种方案与标准三节点副本集的优缺点,指出三节点方案在高可用性和数据一致性方面表现更佳。
107 5
|
2月前
|
自然语言处理 编译器 应用服务中间件
PHP在服务器上的运行过程
PHP在服务器上的运行过程
63 7
|
2月前
|
监控 PHP Apache
优化 PHP-FPM 参数配置:实现服务器性能提升
优化PHP-FPM的参数配置可以显著提高服务器的性能和稳定性。通过合理设置 `pm.max_children`、`pm.start_servers`、`pm.min_spare_servers`、`pm.max_spare_servers`和 `pm.max_requests`等参数,并结合监控和调优措施,可以有效应对高并发和负载波动,确保Web应用程序的高效运行。希望本文提供的优化建议和配置示例能够帮助您实现服务器性能的提升。
98 3
|
2月前
|
监控 Ubuntu Linux
使用VSCode通过SSH远程登录阿里云Linux服务器异常崩溃
通过 VSCode 的 Remote - SSH 插件远程连接阿里云 Ubuntu 22 服务器时,会因高 CPU 使用率导致连接断开。经排查发现,VSCode 连接根目录 ".." 时会频繁调用"rg"(ripgrep)进行文件搜索,导致 CPU 负载过高。解决方法是将连接目录改为"root"(或其他具体的路径),避免不必要的文件检索,从而恢复正常连接。
|
2月前
|
PHP 数据库 数据安全/隐私保护
布谷直播源码部署服务器关于数据库配置的详细说明
布谷直播系统源码搭建部署时数据库配置明细!
|
2月前
|
PHP 开发者
PHP作为一门流行的服务器端脚本语言,深入理解PHP的命名空间
【10月更文挑战第22天】PHP作为一门流行的服务器端脚本语言,自1995年诞生以来,已经发展了二十多年。在这二十多年的时间里,PHP经历了多次重大版本的更新,不断增加新特性和改进。其中,命名空间(Namespace)是PHP 5.3.0引入的一个重要特性,它为PHP的代码组织和重用提供了一种新的方式。本文将从三个部分深入理解PHP的命名空间:一是命名空间的基本概念和作用;二是PHP命名空间的使用方法;三是通过实例讲解命名空间的应用。
31 4