如何使xampp环境的行为与我的远程共享主机环境相同


how to make xampp environment behave the same as my remote shared hosting environment?

我不知道用专业术语怎么说。我想这就是为什么我不能从谷歌得到好的答案的原因。

我在本地的winxp机器上安装了xampp。我用它在本地开发网站,然后将这些文件上传到我的客户共享主机帐户。

的问题,在2年里,我总是发现如何xampp工作和如何web服务器工作之间的差异。

一些代码在本地工作,但不能远程工作,反之亦然。此外,flash在xampp上的行为与远程web服务器不同。

是否有一种方法可以获得服务器配置并与xampp一起使用,如获取服务器php.ini并与xampp一起使用?

事实上,XAMPP的行为可能与您的生产系统的web服务器不同。

一开始这可能很烦人,但它绝对是可以管理的。

一些想法:

运行
<?php
  echo phpinfo(); 
?>

,检查不同的功能。

如果PHP的一个特性被标记为实验性,请删除它。

如果您需要部署在不同的生产服务器上,请准备一个名为grabProperties.php的脚本,并添加代码,其中检查您知道要使用的基本属性。以某种规范化的方式输出结果,因此您可以使用另一个脚本来比较结果并准备一个漂亮的报告。

在XAMPP中激活的某些功能在大多数web主机的服务器上不启用-例如Flash支持。在使用这些特性之前,首先确保它们存在于您的生产系统中。

您始终可以自由更改php.ini。因此,您可以以这样的方式启用或禁用模块,以便您的开发系统模仿您的生产系统的设置。

我想知道,Flash问题与PHP本身有关。更有可能的是,问题与错误的代码有关。

说…

我写PHP已经有一段时间了。在开发系统上升级XAMPP,在生产系统上升级Apache/PHP/MySQL。但是没有一个应用程序在升级后失败。

有几次,我从开发Windows和生产Linux切换到开发Mac OS x,即使在那里,一切都很好。

无需注意,在开发系统和生产系统之间没有一行代码需要更改。

编写高质量代码的要点是基于防御风格。

  • 检查尽可能多的方法的输入参数(参见assert())。
  • 将所有错误记录到日志文件中,并使用管理后端可视化它(参见set_error_handler())。
  • 尽可能多地使用类型提示(参见type-hint)
  • 设置最大错误级别和代码,不出现任何警告。

还不满意吗?

如果你仍然不满意XAMPP,准备一个虚拟机VirtualBox,安装一些Linux版本,并启用apache, mysql和php。

如果您的主机的服务器是linux -这是很有可能的-应该不会有一个大的问题,配置虚拟LAMP服务器以类似的方式。