Php-cli require_once()在ubuntu上失败,在mac上可以工作


php-cli require_once() failing on ubuntu works on mac

我正在使用voip。我希望从命令行运行一个php脚本,它在我的mac终端上工作良好,但在ubuntu服务器上它失败了…

脚本:

<?php
require_once("class.voipms.php");
$voipms = new VoIPms();
...

class.voipms.php开头

<?
class VoIPms{
...
误差

首先从class.voipms.php中输出2000多行,然后

PHP Fatal error:  Class 'VoIPms' not found in /root/voipreg/check.php on line 3

显然类是在class.voipms.php和脚本可以找到class.voipms.php,因为它被打印到cli和一切运行正常从终端在我的mac上,所以我很困惑!

任何帮助将是惊人的!

PHP短标记(仅<? vs完整标记<?php)可能在Ubuntu系统上被禁用。我建议不要使用短标记,因为它们不像完整标记那样无处不在。如果没有启用,您将得到您所描述的内容。PHP不会将该文件识别为代码,而只是将其作为文本输出。

虽然你可以在php.ini中启用短标签,但我建议不要使用它。你不能指望它在任何地方都是启用的,也不是很难输入完整的东西。您还可以使用短回声标记<?=,即使短标记禁用,现在一段时间。

无法找到指定的类文件。指定文件的方式,它期望它在运行脚本的同一目录中,或者在PHP包含路径中的某个目录中。

如果类文件确实不在此脚本的同一目录中,则可能在不同的环境中配置了不同的包含路径。

相关文章: