【问题标题】:how to make xampp environment behave the same as my remote shared hosting environment?如何使 xampp 环境的行为与我的远程共享托管环境相同?
【发布时间】:2011-07-11 17:14:16
【问题描述】:

我不知道用技术术语怎么说。我认为这就是为什么我无法从 Google 获得好的答案的原因。

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

2 年来我一直发现 xampp 的工作方式与 Web 服务器的工作方式之间存在差异的问题。

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

有没有办法我可以获取服务器配置并将其与 xampp 一起使用,例如获取服务器 php.ini 并将其与 xampp 一起使用?

【问题讨论】:

  • 你能把 php.ini、httpd.conf 等从你的 web 服务器复制到你本地的 XAMPP 中吗?
  • 您应该单独解决这些问题。复制 conf/ini 文件很可能会导致其他意想不到的后果。
  • 基于某些代码构建庞大的应用程序真的很烦人,然后当它完成后,您发现它在Web服务器上不起作用,您必须重新编写代码。我认为如果是这种情况,那么 xampp 将毫无用处,我将进行远程 ftp 编辑。

标签: php flash xampp


【解决方案1】:

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

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

一些想法:

运行

<?php
  echo phpinfo(); 
?>

在两个系统上检查不同的功能。

如果 PHP 的一个特性被标记为 experimental,那么就删除它。

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

在 XAMPP 中激活的某些功能在大多数网络托管服务商的服务器上未启用 - 例如。 Flash 支持。在使用这些功能之前,请先确保它们存在于您的生产系统中。

您随时可以更改php.ini。因此,您可以启用或禁用模块,让您的开发系统模仿生产系统的设置。

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

也就是说……

我写 PHP 已经有一段时间了。多次升级开发系统上的 XAMPP 和生产系统上的 Apache/PHP/MySQL。但升级后没有一个应用程序无法运行。

有几次,我从开发 Windows 和生产 Linux 转移到开发 Mac OS X。即使在那里,一切都立即运行良好。

不用注意,开发系统和生产系统之间不需要更改任何一行代码。

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

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

还不满意?

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

如果您的托管服务器在 linux 上 - 这很可能 - 以类似方式配置虚拟 LAMP 服务器应该不会有大问题。

【讨论】:

  • 你知道吗?如果我可以提出使用 VirtualBox(或来自 VMWare 的 VMPlayer(我认为它更稳定,更重要的是,它不是由 Oracle 提供))本身的 +1 建议,我完全愿意。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2017-02-13
  • 1970-01-01
  • 2010-11-15
  • 1970-01-01
  • 2020-07-03
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多