пытаясь получить PDO для загрузки - PullRequest
0 голосов
/ 09 мая 2019

Я пытаюсь загрузить PDO на сервер Apache PHP7.2 (aws)

Я продолжаю сталкиваться с этими ошибками

PHP Warning: PHP Startup: Unable to load dynamic library '/usr/lib64/php/5.5/modules/pdo.so' - /usr/lib64/php/5.5/modules/pdo.so: cannot open shared object file: No such file or directory in Unknown on line 0
PHP Warning: PHP Startup: Unable to load dynamic library '/usr/lib64/php/5.5/modules/pdo_mysql.so' - /usr/lib64/php/5.5/modules/pdo_mysql.so: cannot open shared object file: No such file or directory in Unknown on line 

дополнительно php выдает эту ошибку:

PHP Warning: ob_start(): function 'mb_output_handler' not found or invalid function name in /var/app/ondeck/laravel/core.php on line 32

Я не уверен, почему сервер выдает эти ошибки, я имею в конфигурации PHP

   extension=pdo.so
      extension=pdo_mysql.so

Я ожидаю, что он загрузит pdo в php 7, если эти команды / расширенияустарели, а php7 требуется что-то новое?

ОБНОВЛЕНИЕ: остальная часть конфигурационного файла, которым я могу поделиться, пожалуйста, учтите, что я не писал оригинальный код:

     yum -y install \
  php72-fpm

  # Make sure php is on for server reboot
  chkconfig php-fpm on

  # Add some extra settings for php
  cat > /etc/php-fpm.d/extra.conf <<EOF
  [www]
  request_terminate_timeout=600s

  ; Connections
  pm.max_children = 60
  pm.start_servers = 30
  pm.min_spare_servers = 30
  pm.max_spare_servers = 30
  pm.max_requests = 100
  EOF

  # replace the web user in the php-fpm conf file
  sed -i.bak 's/user = apache/user = webapp/g' /etc/php-fpm.d/www.conf

  # Add this to /etc/httpd/conf.d/phpfpm.conf
  # Pass requests into php-fpm
  cat > /etc/httpd/conf.d/phpfpm.conf <<EOF
  <IfModule proxy_module>
    ProxyPassMatch ^/(.*\.php(/.*)?)$ fcgi://127.0.0.1:9000/var/www/html/public_html/$1 timeout=600
  </IfModule>
  EOF

  # Remove contents of the 10-php.conf file (loads php_mod for apache)
  cat > /etc/httpd/conf.modules.d/10-php.conf <<EOF
  EOF

  # Remove the 2 lines of php variables that use the php5_mod
  sed -i.bak 's/php_value session.save_handler "files"//g' /etc/httpd/conf.d/php.conf
  sed -i.bak 's/php_value session.save_path    "\/var\/lib\/php\/session"//g' /etc/httpd/conf.d/php.conf

  # restart php
  service php-fpm restart

  service httpd graceful

Ответы [ 2 ]

1 голос
/ 09 мая 2019

Вы пытаетесь загрузить модули с помощью PHP 5.5 по пути /usr/lib64/php/5.5/, но вы запускаете PHP 7.x. Это не работает, поэтому вам нужно установить правильные модули.

0 голосов
/ 09 мая 2019

Я считаю, что вы не установили необходимые модули PHP:

sudo apt-get install php7.2-mysql

sudo service apache2 restart 
...