-2

我有一个非常奇怪的问题,当我下载任何 php 脚本并尝试在本地安装它时,我遇到了麻烦。我提到下载任何 php 脚本,因为如果我在本地创建一个 php 脚本,无论它有多少个 include 语句,或者它包含多长的 include 语句,它们都可以正常工作。

上次,我的 WP 安装遇到了一些问题,请参阅我的其他问题

我为cakecroogofuelfuel-cms做了 4 次git clone并且对它们都有同样的问题:

  • 奇怪的烦人的BOM字符包括使 PHP 抛出致命错误:

    遇到 PHP 错误

    严重性:警告

    消息:require_once(base_module_model.php):打开流失败:没有这样的文件或目录

    文件名:models/users_model.php

    行号:3 致命错误:require_once():无法打开所需的“base_module_model.php”(include_path='.:/usr/share/php:/usr/share/pear:/usr/share/ZF/library:/usr /share/ZF/extras/library') 在 ª.!ª(!“(! 在第 3 行

    调用堆栈:0.0002 327540 1. {main}() PATH_TO_FUEL/index.php:0
    0.0006 329032 2. require_once('ãå,/PATH_TO_FUEL/fuel/codeigniter/core/CodeIgniter.php') PATH_TO_FUEL/index.php: 236
    0.0109 544260 3. Login->__construct() PATH_TO_FUEL/fuel/application/../modules/user_guide/:267
    0.0269 1002572 4. Fuel_Loader->module_model() PATH_TO_FUEL/fuel/modules/fuel/controllers/login.php: 28
    0.0269 1002660 5. Fuel_Loader->model() PATH_TO_FUEL/fuel/application/third_party/fuel/Loader.php:107
    0.0337 1469404 6. Modules::load_file() PATH_TO_FUEL/fuel/application/third_party/fuel/Loader.php: 237
    0.0338 1482504 7.include_once('_ö,/PATH_TO_FUEL/fuel/modules/fuel/models/users_model.php') PATH_TO_FUEL/fuel/application/third_party/MX/Modules.php:142

由于几乎所有文件都发生这种情况,我现在可以确定,问题不在于文件的内容,而在于其他问题,可能是编码不匹配。

我的追求是:

  • 上述问题是否表明我的系统编码可能存在问题?(我主要使用viNetbeans作为 IDE。)

  • 如果编码有问题(我的机器或文件),是否有永久解决该问题的方法?

已安装扩展列表(使用php -m 获取):

[PHP Modules]
apc
bcmath
bz2
calendar
Core
ctype
curl
date
dba
dom
ereg
exif
fileinfo
filter
ftp
gd
gettext
hash
iconv
imagick
json
libxml
mbstring
mcrypt
mhash
mysql
mysqli
openssl
pcntl
pcre
PDO
pdo_mysql
pdo_pgsql
pdo_sqlite
pgsql
Phar
posix
readline
Reflection
session
shmop
SimpleXML
soap
sockets
SPL
SQLite
sqlite3
standard
sysvmsg
sysvsem
sysvshm
tokenizer
wddx
xdebug
xml
xmlreader
xmlwriter
xsl
zip
zlib

[Zend Modules]
Xdebug
4

1 回答 1

0

为了确认问题确实是您的版本控制操作正在添加 BOM 字符,您可以:

  1. 检查一小组文件进行测试,并验证您是否发现了问题。
  2. 使用 vi 或 vim 手动“清理”每个文件,例如通过:set nobomb
  3. 验证问题是否消失。

如果这不起作用那么你就知道你找错树了。如果它确实有效,那么您就知道确实有问题 - 可能与您的 git 设置有关。

于 2012-08-04T10:32:37.057 回答