linux環境下php環境編譯安裝

Linux下php7.0.14+apache2.4+mysql5.7.17

安裝順序 apache/mysql > php 因為php需要依賴apache和mysql.

Apache2.4安裝

安裝apache 需要依賴 APR APR-Util pcre [perl5 ! php需要]基礎gcc編譯程序配置apache下載tar.gz文件 *代表文件前綴

tar zxvf *.tar.gzcd *./configure –prefix=安裝路徑 \ //face/httpd--with-apr=/face/apr \ //apr 安裝路徑 下同 安裝方法與apache相同--with-apr-util=/face/apr-util \--with-pcre=/face/pcre \--with-perl=/face/perl配置后執行make && make install等待編譯結束修改配置文件如/face/httpd/conf/httpd.confvi /face/httpd/conf/httpd.conf修改文件ServerName localhost //網站域名 一般為localhost即可DocumentRoot "/face/www" //網站根目錄<Directory "/face/www">***Allow from all //允許所有人訪問</Directory>Addtype application/x-httpd-php .php #添加php解析執行wq然後關閉防火牆否則無法訪問這樣apache就安裝好了/face/httpd/bin/apachectl start //啟動/face/httpd/bin/apachectl restart //重啟/face/httpd/bin/apachectl stop //關閉

安裝mysql5.7.17

#下載mysql Linux - Generic (glibc 2.5) (x86, 64-bit), TARtar mysql-*-.tartar zxvf mysql-*(notest)-.tar.gzmv mysql-*(notest)- mysql //重命名#MySQL有對依賴libaio庫(或者使用apache安裝方法)yum install libaio #centosapt-get install libaio1 #ubuntugroupadd mysql //添加mysql用戶組useradd -r -g mysql -s /bin/false mysqlcd mysqlbin/mysqld --initialize --user=mysql --basedir=安裝路徑 --datadir=數據路徑 #5.7.6的MySQL及以上#bin/mysql_ssl_rsa_setup –-datadir=數據路徑 無需chown -R root .mkdir mysql-fileschown -R mysql data mysql-filescd support-filescp my-default.cnf /etc/my.cnf #mysql啟動時配置文件位置vi /etc/my.cnf#修改basedir=安裝路徑datadir=數據路徑socket = /var/lib/mysql/mysql.sock #mysql連接默認路徑(php也會使用) 在登陸,修改密碼成功后在修改此處#有問題cp mysql.server /etc/init.d/mysql vim /etc/init.d/mysql#修改basedir=安裝路徑datadir=數據路徑#有問題bin/mysqld_safe --user=mysql & #啟動mysqlbin/mysql --user=root –p#輸入臨時密碼set password=password('A123456');grant all privileges on *.* to root@'%' identified by 'A123456';flush privileges;use mysql;select host,user from user;#重啟mysql

安裝php7.0.14

tar zxvf php*.tar.gzcd php*./configure--prefix= /usr/local/php/ #安裝路徑--with-apxs2= /usr/local/apache/bin/apxs #apache2路徑--enable-mbstring # mbstring 擴展--enable-mysqlnd --with-pdo-mysql=mysqlnd #pdo--with-mysqli=mysqlnd #mysqli--with-mysql-sock=/var/lib/mysql/mysql.sock ##mysql.sockmake && make install
#編譯執行即可#關於linux php擴展開啟#進入解壓縮的php文件cd php*cd extcd 模塊cp config0.m4 config.m4 #如果沒有config.m4/usr/local/php/bin/phpize#下一步可能會有問題 需要安裝模塊文件庫 建議使用yum安裝 如openssl模塊 yum install openssl-devel./configure \--with-php-config=/usr/local/php/bin/php-config make && make install#修改php配置文件cp php.ini.development /usr/local/php/lib/php.inivi /usr/local/php/lib/php.ini#extension_dir會默認為php安裝目錄的插件管理目錄#extension=/usr/local/php/lib/php/extensions/no-debug-non-zts-20151012/openssl.so #添加這一行即可extension=openssl.so #添加即可#完成後重啟Apache

關於安裝過程出現的問題

  • mysql.sock路徑需要給mysql用戶賦權

    Advertisements

  • chown –r mysql /mysql.sock路徑

在沒有成功登陸就重啟了mysql會出現問題,解決辦法如下

./mysqladmin --user=root -p mysql#輸入臨時密碼

關於在ubuntu環境搭建遇到的問題

  • php擴展編譯時需要依賴的庫與centos不同,因此需要找到對應的包進行安裝

  • mysql安裝默認 mysql.sock 位置在 /tmp/msyql.sock 如果修改的會導致mysql無法登錄。不修改的話php無法再到mysql.sock (php默認mysql.sock位置為/var/mysql/mysql.sock),導致無法使用mysql,修正方法 修改php的配置文件 php.ini

    Advertisements

pdo_mysql.default_socket=/tmp/mysql.sock mysql.default_socket = /tmp/mysql.sock mysqli.default_socket = /tmp/mysql.sock

Advertisements

你可能會喜歡