2013-12-05 5 views
0

Я создал веб-сайт Drupal с настраиваемым модулем для интеграции функций от компании MemberSuite. PHP API-интерфейс MemberSuite находится в файле .phar. У меня мало опыта работы с файлами .phar, но все отлично работает на моей локальной машине Ubuntu.Недопустимые символы в конце PHP-файла Phar печатаются на экран на рабочем сервере, но не на локальном сервере

После того как я загрузил все на живой сервер, я обнаружил странные символы в верхней части каждой страницы. Трассировка проблемы в .phar файл и нашел тарабарщину после закрытия PHP тега:

enter image description here

Это не вызывает какие-либо проблемы на моей локальной машине, но он выдает следующее живого сервера:

enter image description here

Я думаю, что это как-то связано с кодированием, но я не эксперт по этому вопросу. Я попытался удалить символы из конца .phar-файла, но это приводит к фатальной ошибке из-за проверки хэша/безопасности файла .phar.

Есть ли простой параметр настройки PHP, который заставит файл .phar работать на одном сервере, а не другой?

+0

Если вы загружаете через FTP, проверьте двоичный/ASCII флажков, поэтому перевод должен быть «двоичный» не ASCII/текст –

+0

является его UTF-8 BOM –

+0

Извините, спецификация UTF-8 над моей головой. Вот файл, о котором идет речь, из Github: https://github.com/membersuite/sdk-php/blob/master/APISample/phpsdk.phar – whelanska

ответ

0
  • Это не BOM, то есть только в самом начале файла
  • Phar файлы являются архивными файлами, и есть маркеры внутри в которые определяют начало и конец файла в Phar. Вы видите такой один
  • То, что он работает на одном сервере, а не на другом, как правило, конфликтует с некоторыми версиями. Проверьте свою версию PHP на сервере и на локальном компьютере. Местный, вероятно, будет выше.
    • Снизьте свою локальную версию PHP, и вы, вероятно, сможете воспроизвести ошибку.
    • Сравните версии PHP с рекомендуемой/минимальной версией вашего api phar файла memberuite.
  • В качестве альтернативы, извлечь Phar и использовать файлы непосредственно