Ошибка PHP PDO при загрузке на сервер [дубликат]

Вот способ сделать это без плагина:

Сначала получите позицию элемента. Затем добавьте положение прокрутки и высоту видового экрана.

Если комбинация положения прокрутки и высоты видового экрана больше или равна позиции элемента, она находится в окне просмотра.

var element_position = $("#element").offset().top;
var scroll_position = $(window).scrollTop();
var viewport_height = $(window).height();

if((scroll_position + viewport_height) > element_position){
    // Do something because the element is in the viewport
}
39
задан Amanada Smith 5 August 2012 в 03:01
поделиться

8 ответов

Убедитесь, что они вызываются в файле php.ini

Если PDO отображается в списке установленных php-модулей, вам необходимо проверить файл php.ini в соответствующей папке чтобы они вызывались. Где-то в файле php.ini вы увидите следующее:

extension=pdo.so
extension=pdo_sqlite.so
extension=pdo_mysql.so
extension=sqlite.so

Если они отсутствуют, просто добавьте строки вверху внизу файла php.ini и сохраните их.

10
ответ дан Bruno Ribeiro 21 August 2018 в 21:58
поделиться

Попробуйте добавить use PDO; после своего пространства имен или непосредственно перед вашим классом или в верхней части вашего файла PHP.

37
ответ дан Jo Smo 21 August 2018 в 21:58
поделиться
  • 1
    Это сделало это для меня ... Я был внутри класса с именами и просто добавлял `\` перед PDO, как предлагалось в другом месте, не работал - но это было :) – erlingormar 25 January 2015 в 14:29
  • 2
    Поцарапав голову файлами php.ini, когда я увидел это ... duh !! – Jed Lynch 21 September 2017 в 05:23
  • 3
    – Albert Hidalgo 29 August 2018 в 15:16

Я решил его с помощью библиотеки PHP_PDO , потому что мой хостинг-провайдер не принял мое требование для установки драйвера PDO на сервер Apache.

1
ответ дан Pavel Hájek 21 August 2018 в 21:58
поделиться
  • 1
    Привет, вы можете посоветовать мне, как добавить библиотеку в cpanel, потому что я нахожусь на общем хостинге и застрял в этом. – Ramesh Kumar 30 April 2016 в 08:27
  • 2
    Спасибо, что ты потрясающий. Рабочий PDO ... :) – Ramesh Kumar 30 April 2016 в 09:09
  • 3
    Привет, вы можете мне посоветовать, как добавить библиотеку в cpanel, потому что я нахожусь на общедоступном хостинге! – Ayed Mohaed Amine 25 May 2016 в 11:23
  • 4
    Рамеш Кумар: просто включите PHP_PDO в начало своего кода – Pavel Hájek 26 May 2016 в 16:13

Эта ошибка вызвана тем, что PDO недоступен для PHP.

Если вы получаете ошибку в командной строке или нет через тот же интерфейс, который использует ваш сайт для PHP, вы потенциально вызывая другую версию PHP или выставляя другой файл конфигурации php.ini при проверке phpinfo().

Убедитесь, что PDO загружен, а также загружены драйверы PDO для вашей базы данных.

-1
ответ дан Predominant 21 August 2018 в 21:58
поделиться
  • 1
    Он загружается, как указано в комментариях выше. – Amanada Smith 6 August 2012 в 12:57
  • 2
    +10 Это так смешно проголосовать ... это именно то, что происходит со мной .. после обновления PHP до 7.1 PDO не доступно ... некоторые downvoters действительно странные. это такое хобби в стеке? – wpcoder 29 October 2017 в 10:56

Это также может произойти, если в текущем рабочем каталоге веб-приложения есть файл php.ini. Если кто-то был помещен туда для изменения определенных параметров, он переопределит глобальный.

Чтобы избежать этой проблемы, не используйте файл php.ini для изменения настроек; вместо этого вы можете:

  • Задавать настройки в объявлении vhost
  • Использовать файл .htaccess с php_flag ( см. здесь )
  • Используйте файл .user.ini ( см. здесь )
20
ответ дан Simon East 21 August 2018 в 21:58
поделиться
  • 1
    Привет, Аластер, я немного изменил ваш ответ. Надеюсь, все в порядке. ;-) – Simon East 20 January 2017 в 00:18

try

 yum install php-pdo
 yum install php-pdo_mysql

 service httpd restart
49
ответ дан sj59 21 August 2018 в 21:58
поделиться
  • 1
    Это действительно отличный и правильный ответ. Спасибо приятель. – usumoio 3 June 2013 в 16:21
  • 2
    где это запустить? – s4suryapal 17 November 2014 в 18:15
  • 3
    @ s4suryapal: запустите его в консольной командной строке сервера linux. В окне вы можете раскомментировать строку с помощью: extension = php_pdo_mysql.dll в php.ini (например: xampp, wamp, ...) и перезапустить apache – Bảo Nam 18 November 2014 в 19:06
  • 4
    вопрос означал, что он установил pdo (цитата из phpinfo), поэтому -1. – Putnik 19 August 2016 в 19:25
  • 5
    Как установить php pdo для oracle на cent os 5.8? – Sanjay Rao 1 December 2016 в 19:30

Каков полный источник файла Mysql.php. Основываясь на выходе списка информации о php, это звучит так, будто вы можете пытаться ссылаться на глобальный класс из пространства имен.

Если в файле Mysql.php имеется оператор «пространство имен» в нем, используйте \PDO вместо PDO - это скажет PHP, что он ищет глобальный класс, а не ищет в локальном пространстве имен.

9
ответ дан Stephen 21 August 2018 в 21:58
поделиться

У меня была такая же проблема на GoDaddy. Я добавил extension=pdo.so в php.ini, но все равно не работал. И тогда мне пришло в голову только одно: Разрешения

Перед загрузкой файла убейте все процессы PHP (cPanel-> PHP Processes).

проблема заключалась в том, что с разрешениями файлов он был установлен в 0644 и не был выполнен. Вам необходимо установить разрешение файла как минимум 0755.

1
ответ дан user3284463 21 August 2018 в 21:58
поделиться
Другие вопросы по тегам:

Похожие вопросы: