включить PDO на сервере или использовать laravel без?

у меня есть cms на основе laravel, когда я пытаюсь установить его на наш сервер, он говорит: Класс 'PDO' не найден

Поэтому я попытался просто написать небольшой скрипт только с новым объектом pdo, тот же результат. Сервер не принадлежит нашей компании, поэтому у меня нет доступа к php.ini и т. д. У меня есть доступ к cpanel, но параметры php там только для справки, я не могу их изменить (все равно не вижу там pdo).

Мне нужно закончить CMS и заставить ее работать, но я полный нуб в вопросах, связанных с серверами. :(

Я сейчас на выходных, поэтому не могу позвонить в службу поддержки и т. д. для сервера. Могу ли я что-нибудь сделать сейчас, чтобы включить PDO? Я нашел статью в Google, как включить ее из cpanel whm, но она совсем не похожа на мою cpanel.

p.s. Обычно это проблема, чтобы заставить серверную компанию включить такие расширения, как pdo\mysqli\etc? это нормально, у них есть только базовый mysql? мне кажется очень странным, это похоже на основы для БД, и работа только с базовым mysql, который гораздо более подвержен инъекциям, просто небезопасна и стоит x10 рабочих часов, чтобы заставить программистов написать собственный класс db, когда есть отличные бесплатные вещи, такие как pdo \mysqli... это чертовски глупо, для ПЛАТНОГО хостинга...


person Sergey Sob    schedule 29.06.2013    source источник
comment
Только наличие базового mysql обычно означает, что они ничего не обновляли какое-то время (либо чтобы не «сломать» код клиентов путем обновления, либо просто немного ленивы). Обычно нет проблем попросить их включить его и обновить php и т. д., так как PDO вроде как встроен. Включение других расширений pecl, особенно бета-версий, может быть более сложной задачей в зависимости от хостера.   -  person Wrikken    schedule 29.06.2013
comment
PDO работает только на PHP5 и устанавливается только с версии 5.1. Для версий PHP4 был разработан класс, который эмулировал PDO phpclasses.org/package/ — я использовал это в переходный период для разработки кода, готового к PDO.   -  person Cups    schedule 29.06.2013
comment
Некоторые хостеры лагают, но, как говорится, кто-то по лени, а кто-то по своему выбору: последний раз я видел установку PHP3 (!) года 4 назад, и клиент запретил апгрейд, так как не было нормально работающего кода php3. полностью совместим с php4 ... Как клиент, я также ожидаю, что хостер, по крайней мере, сначала спросит меня перед обновлением, а некоторые переключаются на то, чтобы клиент запрашивал обновление, что вполне нормально.   -  person Wrikken    schedule 29.06.2013
comment
Чашки, у них есть php 5.3.23, как мне использовать этот пакет? просто импортировать в автозагрузку?   -  person Sergey Sob    schedule 29.06.2013
comment
импортировал этот класс, он может подключаться к db в значительной степени работает и т. д., но laravel использует все виды вещей, которые по-прежнему не будут работать, например, он не знает, что такое pdo::fetch_class... это не замена обычному pdo :(   -  person Sergey Sob    schedule 29.06.2013


Ответы (1)


Поскольку у вас есть cPanel, лучший и простой способ — включить расширение с помощью easyapache.

зайти на сервер по ssh

/скрипты/easyapache

Не забудьте запустить это на экране

экран -S тест

Затем включите расширение PDO для файла php.

Если вы не являетесь экспертом в работе с серверной частью easyapache, попробуйте WHM. вот шаги

  • Войти в WHM
  • Нажмите «Обновить Apache».
  • Нажмите «Начать настройку на основе профиля».
  • Выберите версию Apache
  • Нажмите «Следующий шаг».
  • Выберите PHP 5
  • Нажмите «Следующий шаг».
  • Выберите версию PHP 5
  • Нажмите «Следующий шаг».
  • Нажмите кнопку «Исчерпывающий список опций».
  • Прокрутите вниз до флажка с надписью PDO (два параметра pdo должны быть проверены)
  • Нажмите Сохранить и построить

Оба будут работать одинаково. Я надеюсь, что это решит вашу проблему.

person Leo Prince    schedule 29.06.2013
comment
да, я написал, я видел этот учебник в Интернете, когда искал решение в Google, но в разделе «Программное обеспечение» моей cPanel у меня есть только варианты установки чатов\тележек для покупок, у меня нет доступа к реальным настройкам, подобным этому. хотя спасибо за ответ - person Sergey Sob; 29.06.2013
comment
Извини, что я тебя не понял. Вы находитесь в общей среде? В противном случае у вас будет root-доступ, следовательно, WHM или root-доступ к оболочке. Если вы находитесь в общей среде, вы должны попросить своего хостинг-провайдера включить модуль :) - person Leo Prince; 17.07.2013
comment
я сделал, теперь все в порядке :) они даже отключили эти чертовы магические функции! у-у-у :) - person Sergey Sob; 17.07.2013