Ubuntu編譯安裝PHP7

2022-03-13 06:03:11 字數 2909 閱讀 7550

引數配置

./configure --prefix=/usr/local/php7 \

--with-config-file-path=/usr/local/php7/etc \

--with-apxs2=/usr/local/apache2/bin/apxs \

指定apache的apxs,會在其modules中生成libphp7.so

--with-mysql=mysqlnd \

--with-mysqli=mysqlnd \

--with-pdo-mysql=mysqlnd \

--with-openssl \

--with-iconv-dir \

--with-freetype-dir \

--with-jpeg-dir \

--with-png-dir \

--with-zlib \

--with-libxml-dir \

--with-curl \

--with-mcrypt \

--with-mhash \

--with-mcrypt \

--without-pear \

--with-gd \

--with-xmlrpc \

--enable-mysqlnd \

--enable-xml \

--disable-rpath \

--enable-bcmath \

--enable-shmop \

--enable-sysvsem \

--enable-inline-optimization \

--enable-mbregex \

--enable-fpm \

--enable-mbstring \

--enable-gd-native-ttf \

--enable-pcntl \

--enable-sockets \

--enable-zip \

--enable-soap \

如果報錯,直接安裝需要的擴充套件包

sudo apt-get install  libopenssl-dev    libcurl4-openssl-dev    libjpeg-dev ...

配置通過了,開始編譯安裝 make && sudo make install

拷貝配置檔案  sudo cp php.ini-development  /usr/local/php7/etc/php.ini

配置apache解析php指令碼,因為已經在其modules目錄生成了libphp7.so,只需在配置檔案中匯入即可:

loadmodule php7_module  modules/libphp7.so

配置php.ini,使其可以通過mysqli連線mysql資料庫

因為是通過mysqlnd驅動的,不需要在extension=mysqli,直接找到[mysqli]部分進行配置即可:

mysqli.default_socket=/tmp/mysql.sock

啟動mysql(service mysql start)後,如果只有/var/run/mysqld/mysqld.sock沒有/tmp/mysql.sock,

則需要建立個軟連線:ln -s /var/run/mysqld/mysqld.sock /tmp/mysql.sock

mysqli.default_host='localhost'   mysqli.default_user='root'

如果要使用pdo_mysql,同樣 pdo_mysql.default_socket=/tmp/mysql.sock

測試一下,在apache文件根目錄建立info.php 和 test.php

info.php

<?php

phpinfor();

?>

瀏覽器訪問 .../info.php可以看到

// 物件導向方法

$mysqli = new mysqli('localhost', 'my_user', 'my_password', 'my_db');

if ($mysqli->connect_error)

echo 「connect successfully」;

//面向過程方法

$conn = mysqli_connect($host, $servername, $username, $password);

// 檢測連線

if (!$conn) 

echo "connected successfully";

?>

瀏覽器訪問  .../test.php

warning: mysqli::__construct(): (hy000/2002): permission denied in/usr/local/apache2/htdocs/test.phpon line3

connection error: permission denied

將上面的localhost 改成 127.0.0.1  結果:connected successfully 。。。

//

pdo方法

<?php

$servername = "127.0.0.1";

$username = "username";

$password = "password";

trycatch(pdoexception $e

)

php7編譯安裝

因為編譯安裝php前,它所依賴的各種庫和包可能還未被安裝,所以先yum安裝php中常用的必須庫 yum install libxml2 libxml2 devel openssl openssl devel bzip2 bzip2 devel libcurl libcurl devel libjpe...

編譯安裝php7

解壓安裝 tar zxvf php 7.0.2.tar.gz cd php 7.0.2 首先檢視安裝幫助 configure help configure prefix usr local php with curl with freetype dir with gd with gettext wi...

ubuntu14 04編譯安裝PHP7

解壓 tar zxvf php 7.0.16.tar.gz 進行配置之前安裝必要的包,否則會出現下面的一些問題 配置 編譯 安裝 修改配置檔案 cp php.ini production usr local php etc php.ini 使用php fpm方式執行的設定 配置php fpm cd ...