Tag Archives: PHP

configure: error: BDB/HDB: BerkeleyDB not available

Looks like BerkeleyDB is not installed which is required to configured openLDAP.

Follow the below steps to install BerkeleyDB.

Downloading Berkeley DB

wget http://download.oracle.com/berkeley-db/db-5.2.28.tar.gz

Extracting files from the downloaded package:

tar zxvf db-5.2.28.tar.gz

cd db-5.2.28/build_unix

Create installation path

mkdir /etc/berkeleydb

Configuring Berkeley DB

../dist/configure --prefix=/etc/berkeleydb

Compile and install the code

make

make install
Share

NginX PHP-FPM CentOS

This article assume that Nginx is installed in your server and its up and running.Lest install NginX

Update the repository

yum update -y

Install the EPEL repository

yum install epel-release -y

Install Dependencies

yum install -y git gcc gcc-c++ libxml2-devel pkgconfig openssl-devel bzip2-devel curl-devel libpng-devel libjpeg-devel libXpm-devel freetype-devel gmp-devel libmcrypt-devel mariadb-devel aspell-devel recode-devel autoconf bison re2c libicu-devel libxslt-devel libxslt

Get The PHP Source

curl -O -L https://github.com/php/php-src/archive/php-7.1.18.tar.gz
tar -xvf php-7.1.18.tar.gz
cd php-src-php-7.1.18/
Compile Source Code 

./buildconf --force

./configure --prefix=/etc/php --with-config-file-path=/etc/php/etc --with-config-file-scan-dir=/etc/php/etc/conf.d --enable-bcmath --with-bz2 --with-curl --enable-filter --enable-fpm --with-gd --enable-gd-native-ttf --with-freetype-dir --with-jpeg-dir --with-png-dir --enable-intl --enable-mbstring --with-mcrypt --enable-mysqlnd --with-mysql-sock=/var/lib/mysql/mysql.sock --with-mysqli=mysqlnd --with-pdo-mysql=mysqlnd --with-pdo-sqlite --disable-phpdbg --disable-phpdbg-webhelper --enable-opcache --with-openssl --enable-simplexml --with-sqlite3 --enable-xmlreader --enable-xmlwriter --enable-zip --with-zlib --enable-soap --with-xsl

make
make install

Add PHP to $PATH

echo 'pathmunge /etc/php/bin' > /etc/profile.d/php.sh

Copy php.ini

cp php.ini-development /etc/php/lib/php.ini

Add module opcache

vi /etc/php/etc/conf.d/modules.ini

and add 'zend_extension=opcache.so'

PHP FPM SET UP

mkdir /etc/php/etc/conf.d

cp sapi/fpm/www.conf /etc/php/etc/php-fpm.d/www.conf

cp sapi/fpm/php-fpm.conf /etc/php/etc/php-fpm.conf

Update PHP FPM configuration

vi /etc/php/etc/php-fpm.d/www.conf

user = nobody
group = nobody

listen.owner = nginx
listen.group = nginx

listen = /var/run/php-fpm/php-fpm.sock

Create a symlink for php-fpm to the standard path

ln -s /etc/php/sbin/php-fpm /usr/sbin/php-fpm

Create a systemctl file add the following:

vi /usr/lib/systemd/system/php-fpm.service

[Unit]
Description=The PHP FastCGI Process Manager
After=syslog.target network.target

[Service]
Type=simple
PIDFile=/run/php-fpm/php-fpm.pid
ExecStart=/usr/sbin/php-fpm --nodaemonize --fpm-config /etc/php/etc/php-fpm.conf
ExecReload=/bin/kill -USR2 $MAINPID

[Install]
WantedBy=multi-user.target

Create a run directory for php-fpm:

mkdir /run/php-fpm

Start php-fpm and Restart NginX

systemctl start php-fpm

service nginx restart

Create index.php

mv /etc/nginx/html/index.html /etc/nginx/html/index.php

Update nginx.con file with the followinf content

root /etc/nginx/html;
index index.php index.html index.htm;

location ~ \.php$ {
try_files $uri =404;
fastcgi_pass unix:/var/run/php-fpm/php-fpm.sock;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
}

Load URL

http://127.0.0.1/

 

Share

Install NginX CentOS From Source

Update the repository

yum update -y

Install the EPEL repository

yum install epel-release -y

Install dependencies from yum

yum install -y zlib zlib-devel pcre prce-devel openssl openssl-devel

Get the Nginx packages to install

cd /usr/src
wget https://nginx.org/download/nginx-1.14.0.tar.gz
tar xvf nginx-1.14.0.tar.gz
cd nginx-1.14.0

Create user nginx

useradd -d /etc/nginx/ -s /sbin/nologin nginx

Configure

./configure --user=nginx --group=nginx --prefix=/etc/nginx --sbin-path=/usr/sbin/nginx --conf-path=/etc/nginx/nginx.conf --pid-path=/var/run/nginx.pid --lock-path=/var/run/nginx.lock --error-log-path=/var/log/nginx/error.log --http-log-path=/var/log/nginx/access.log --with-http_gzip_static_module --with-http_stub_status_module --with-http_ssl_module --with-pcre --with-file-aio --with-http_realip_module --without-http_scgi_module --without-http_uwsgi_module --with-http_realip_module

Compile and Install

make
make install

Verify NginX is installed

nginx -v

Add systemd service file

vi /etc/systemd/system/nginx.service

[Unit]
Description=The NGINX HTTP and reverse proxy server
After=syslog.target network.target remote-fs.target nss-lookup.target

[Service]
Type=forking
PIDFile=/var/run/nginx.pid
ExecStartPre=/usr/sbin/nginx -t
ExecStart=/usr/sbin/nginx
ExecReload=/usr/sbin/nginx -s reload
ExecStop=/bin/kill -s QUIT $MAINPID
PrivateTmp=true

[Install]
WantedBy=multi-user.target

Enable and start service

systemctl enable nginx
systemctl start nginx

Check nginx is processing your request

On commandline

curl localhost

Browser

Make sure port 80 is enabled.

firewall-cmd --zone=public --add-port=80/tcp --permanent && firewall-cmd --reload

Findout the ip

ip addr

Load the site using the URL and it should display ‘Welcome to nginx!’ message.

http://127.0.0.1/

 

Share

Magento 2 External PHP Script

<?php
use Magento\Framework\App\Bootstrap;
require __DIR__ . '/app/bootstrap.php';
$params = $_SERVER;
$bootstrap = Bootstrap::create(BP, $params);
$objectManager = $bootstrap->getObjectManager();
$state = $objectManager->get('Magento\Framework\App\State');
$state->setAreaCode('frontend');

$resource = $objectManager->get('Magento\Framework\App\ResourceConnection');
$connection = $resource->getConnection();

$sql = "Select * FROM customer_entity" ;
$result = $connection->fetchAll($sql); 
print_r($result);
?>
Share