Я занимаюсь разработкой сайта с Люмен рамки.
Все настроено и отлично работает локально. Однако это не относится к удаленному серверу.
Примеры:
Когда я восстанавливаю данные из моей базы данных, даже если столбец содержит только целые числа, результат в локальной integer
, но в удаленном: string
, Я должен уточнить (int)
перед целочисленными значениями, чтобы убедиться, что они являются целыми числами.
Локально все мои классы принадлежат пространствам имен. Все работает локально и удаленно, иногда я оказываюсь с Class 'blabla\blibli' not found
Локально я использую Xampp (версия PHP 5.6.14, MySQL версия 5.0.11-dev) и удаляю, я нахожусь на общем сервере OVH (версия PHP 5.6.15, версия MySQL 5.1.73).
Вы когда-нибудь сталкивались с этим? Есть ли способ это исправить? Может быть файл конфигурации для записи?
РЕДАКТИРОВАТЬ : Учитывая комментарии ниже, кажется, что ответы на мои вопросы на самом деле зависит от использование операционной системы.
Локально я работаю на машине с Windows, а в удаленной — на машине с Linux. Windows, кажется, меньше хлопот с определенными правилами, например с учетом регистра.
Когда я восстанавливаю данные из моей базы данных, даже если столбец содержит
только целые числа, результат в локальном является целым, но в удаленном: строка.
Я должен указать (int) перед целочисленными значениями, чтобы убедиться, что они
целое число.
Это происходит потому, что PHP не знает, как интерпретировать результат запроса. Нет информации о том, как интерпретировать значения столбцов. Чтобы это исправить и иметь правильное представление типов в PHP, у вас должен быть установлен MySQL Native Driver (mysqlnd
).
Вот ссылка на страницу документации, которая объясняет, как это сделать.
Локально все мои классы принадлежат пространствам имен. Все работает локально
и в удаленном, иногда я с классом ‘blabla \ blibli’ не
найденный
Согласно комментариям, кажется, что вы разрабатываете на одной ОС и развертываете на другой ОС. Так как Windows на самом деле НАМНОГО БОЛЬШЕ чем Linux (и я не фанат Linux, это простой факт), они склонны много прощать, когда дело доходит до чувствительности к регистру, а что нет.
Прощение Windows за такие вещи не означает, что они лучше или что с Windows меньше хлопот (от POV системного администратора Windows — это кошмар). Это просто означает, что вы не можете быть ленивым и ожидать, что ОС все простит, и угадаете, как вы хотели, чтобы ваш код работал.
Удачи.
Других решений пока нет …