麻豆小视频在线观看_中文黄色一级片_久久久成人精品_成片免费观看视频大全_午夜精品久久久久久久99热浪潮_成人一区二区三区四区

首頁(yè) > 網(wǎng)管 > 服務(wù)器 > 正文

php5.3.10的安裝配置步驟詳解

2020-05-27 13:09:18
字體:
來(lái)源:轉(zhuǎn)載
供稿:網(wǎng)友

  在linux中php安裝配置與windows中有不小的區(qū)別了,在linux中幾乎都是代碼形式了,下面我們一起來(lái)看看php5.3.10的安裝配置步驟詳解,希望下文可幫助到各位。

  下面以最新的php-5.3.10為例進(jìn)行安裝。

  wget http://cn.php.net/distributions/php-5.3.10.tar.gz

  tar -zxvf php-5.3.10.tar.gz

  cd php-5.3.10

  ./configure --prefix=/usr/local/php --with-config-file-path=/usr/local/php/etc --with-mysql=/usr/local/mysql --with-mysqli=/usr/local/mysql/bin/mysql_config --with-iconv-dir --with-freetype-dir --with-jpeg-dir --with-png-dir --with-zlib --with-libxml-dir --enable-xml --disable-rpath --enable-bcmath --enable-shmop --enable-sysvsem --enable-inline-optimization --with-curl --with-curlwrappers --enable-mbregex --enable-fpm --enable-mbstring --with-mcrypt --with-gd --enable-gd-native-ttf --with-openssl --with-mhash --enable-pcntl --enable-sockets --with-ldap --with-ldap-sasl --with-xmlrpc --enable-zip --enable-soap

  上面的具體參數(shù)可以使用./configure --help查看

  make ZEND_EXTRA_LIBS=-liconv

  make test

  make && make install (此處最好分開(kāi)做,因?yàn)閙ake的時(shí)候會(huì)有報(bào)錯(cuò)出現(xiàn)。)

  我在上面的make時(shí)就報(bào)了下面的錯(cuò)誤

  root/source/php-5.3.10/sapi/cli/php: error while loading shared libraries: libmysqlclient.so.18: cannot open shared object file: No such file or directory

  make: *** [ext/phar/phar.php] Error 127

  解決辦法是(我的mysql安裝目錄是/usr/local/msyql,這個(gè)視自己的mysql安裝路徑而定。)

  ln -s /usr/local/mysql/lib/libmysqlclient.so.18 /usr/lib/

  64位系統(tǒng)應(yīng)使用下面的這行

  ln -s /usr/local/mysql/lib/libmysqlclient.so.18 /usr/lib64/

  若報(bào)下面的錯(cuò),就是編繹mysql的時(shí)候沒(méi)有加上mysqli這一項(xiàng),把下面標(biāo)紅的那部分取消掉,重新編繹就行了。

  make: *** [ext/mysqli/mysqli.lo] Error 1

  ./configure --prefix=/usr/local/php --with-config-file-path=/usr/local/php/etc --with-mysql=/usr/local/mysql --with-mysqli=/usr/local/mysql/bin/mysql_config --with-iconv-dir --with-freetype-dir --with-jpeg-dir --with-png-dir --with-zlib --with-libxml-dir --enable-xml --disable-rpath --enable-bcmath --enable-shmop --enable-sysvsem --enable-inline-optimization --with-curl --with-curlwrappers --enable-mbregex --enable-fpm --enable-mbstring --with-mcrypt --with-gd --enable-gd-native-ttf --with-openssl --with-mhash --enable-pcntl --enable-sockets --with-ldap --with-ldap-sasl --with-xmlrpc --enable-zip --enable-soap

  另外,也有報(bào)下面錯(cuò)的可能。該問(wèn)題有可能是沒(méi)有安裝iconv這個(gè)編碼轉(zhuǎn)換的包,也有可以裝了,但是仍有這個(gè)錯(cuò)。

  sapi/cli/php: error while loading shared libraries: libiconv.so.2: cannot open shared object file: No such file or directory

  make[1]: *** [install-pear-installer] Error 127

  make: *** [install-pear] Error 2

  find / -name libiconv.so.2在/usr/lib/libiconv.so.2位置發(fā)現(xiàn)libiconv已經(jīng)安裝。

  于是運(yùn)行/sbin/ldconfig,再重新編譯,不再報(bào)上面的錯(cuò)。ldconfig用于加載最新編繹過(guò)的包。

  注:上面很多需要的包我都是通過(guò)通過(guò)./configure --prefix=/usr --libdir=/usr/lib --sysconfdir=/etc參數(shù)編繹。這樣其在默認(rèn)的目錄就能找到該包了。

  cp php.ini-production /usr/local/php/etc/php.ini

  cp sapi/fpm/init.d.php-fpm /etc/init.d/php-fpm

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

  修改php.ini文件和php-fpm文件中參數(shù),可以手動(dòng)更改也可以用下面的sed命令更改

  sed -i s#short_open_tag = Off#short_open_tag = On#g /usr/local/php/etc/php.ini

  sed -i s#;pid = run/php-fpm.pid#pid = run/php-fpm.pid#g /usr/local/php/etc/php-fpm.conf

  sed -i s#pm.max_children = 5#pm.max_children = 32#g /usr/local/php/etc/php-fpm.conf

  sed -i s#pm.start_servers = 2#pm.start_servers = 16#g /usr/local/php/etc/php-fpm.conf

  sed -i s#pm.min_spare_servers = 1#pm.min_spare_servers = 8#g /usr/local/php/etc/php-fpm.conf

  sed -i s#pm.max_spare_servers = 3#pm.max_spare_servers = 32#g /usr/local/php/etc/php-fpm.conf

  sed -i s#;pm.max_requests = 500#pm.max_requests = 120#g /usr/local/php/etc/php-fpm.conf

  php官方也給出了其中所有參數(shù)項(xiàng)的解釋說(shuō)明,具體見(jiàn)http://www.php.net/manual/en/install.fpm.configuration.php

  設(shè)置開(kāi)機(jī)啟動(dòng)

  chmod 755 /etc/init.d/php-fpm

  chkconfig --add php-fpm

  /etc/init.d/php-fpm start

  至此,php的安裝完畢。

  最后可以再安裝一些php的擴(kuò)展包和開(kāi)戶(hù)php加速(具體軟件包可以視網(wǎng)上的最新版進(jìn)行安裝):

  tar zxvf memcache-2.2.5.tgz

  cd memcache-2.2.5/

  /usr/local/php/bin/phpize

  ./configure --with-php-config=/usr/local/php/bin/php-config

  make

  make install

  cd ../

  tar jxvf eaccelerator-0.9.6.1.tar.bz2

  cd eaccelerator-0.9.6.1/

  /usr/local//php/bin/phpize

  ./configure --enable-eaccelerator=shared --with-php-config=/usr/local/php/bin/php-config

  make

  make install

  cd ../

  tar zxvf PDO_MYSQL-1.0.2.tgz

  cd PDO_MYSQL-1.0.2/

  /usr/local/php/bin/phpize

  ./configure --with-php-config=/usr/local/php/bin/php-config --with-pdo-mysql=/usr/local/mysql

  make

  make install

  cd ../

  tar zxvf ImageMagick.tar.gz

  cd ImageMagick-6.5.1-2/

  ./configure

  make

  make install

  cd ../

  tar zxvf imagick-2.3.0.tgz

  cd imagick-2.3.0/

  /usr/local/php/bin/phpize

  ./configure --with-php-config=/usr/local/php/bin/php-config

  make

  make install

  cd ../

  修改php.ini文件

  手工修改:查找/usr/local/php/etc/php.ini中的extension_dir = "./"

  修改為extension_dir = "/usr/local/php/lib/php/extensions/no-debug-non-zts-20060613/"

  并在此行后增加以下幾行,然后保存:

  extension = "memcache.so"

  extension = "pdo_mysql.so"

  extension = "imagick.so"

  再查找output_buffering = Off

  修改為output_buffering = On

  再查找; cgi.fix_pathinfo=0

  修改為cgi.fix_pathinfo=0,防止Nginx文件類(lèi)型錯(cuò)誤解析漏洞。

  配置eAccelerator加速PHP:

  mkdir -p /opt/webserver/eaccelerator_cache

  vi /usr/local/php/etc/php.ini

  在php.ini配置文件的最末尾,加上以下配置信息:

  [eaccelerator]

  zend_extension="/usr/local/php/lib/php/extensions/no-debug-non-zts-20060613/eaccelerator.so"

  eaccelerator.shm_size="64"

  eaccelerator.cache_dir="/opt/webserver/eaccelerator_cache"

  eaccelerator.enable="1"

  eaccelerator.optimizer="1"

  eaccelerator.check_mtime="1"

  eaccelerator.debug="0"

  eaccelerator.filter=""

  eaccelerator.shm_max="0"

  eaccelerator.shm_ttl="3600"

  eaccelerator.shm_prune_period="3600"

  eaccelerator.shm_only="0"

  eaccelerator.compress="1"

  eaccelerator.compress_level="9"

  php的安全性設(shè)置:

  找到:;open_basedir =

  修改為:open_basedir = .:/tmp/ #防止php木馬跨站,重要!!

  找到:disable_functions =

  修改為:disable_functions = passthru,exec,system,chroot,scandir,chgrp,chown,shell_exec,proc_open,proc_get_status,ini_alter,ini_alter,

ini_restore,dl,openlog,syslog,readlink,symlink,popepassthru,stream_socket_server,escapeshellcmd,

dll,popen,disk_free_space,checkdnsrr,checkdnsrr,getservbyname,getservbyport,disk_total_space,

posix_ctermid,posix_get_last_error,posix_getcwd, posix_getegid,posix_geteuid,posix_getgid, posix_getgrgid,posix_getgrnam,posix_getgroups,posix_getlogin,posix_getpgid,posix_getpgrp,posix_getpid, posix_getppid,posix_getpwnam,posix_getpwuid, posix_getrlimit, posix_getsid,posix_getuid,posix_isatty, posix_kill,posix_mkfifo,posix_setegid,posix_seteuid,posix_setgid, posix_setpgid,posix_setsid,posix_setuid,posix_strerror,posix_times,posix_ttyname,posix_uname

  #列出PHP可以禁用的函數(shù),如果某些程序需要用到這個(gè)函數(shù),可以刪除,取消禁用。

  找到:;date.timezone =

  修改為:date.timezone = PRC

  找到:expose_php = On

  修改為:expose_php = OFF #禁止顯示php版本的信息

  找到:display_errors = On

  修改為:display_errors = OFF #關(guān)閉錯(cuò)誤提示

  關(guān)于模塊的安裝我給各位補(bǔ)充一篇文章

  1、靜態(tài)安裝

  將先將在安裝php之前先將需要安裝的程序裝上,如ftp、mhash、mcrypt……安裝完成后,解壓php安裝包,執(zhí)行./configure --with-ftp --with-mhash --wth-mcrypt等等。后面具體跟的參數(shù)可以參看./configure --help查看。編譯好后,執(zhí)行make && make install 就行了。

  2、動(dòng)態(tài)安裝

  而在往往我們進(jìn)行編譯php時(shí)經(jīng)常會(huì)忘記添加某擴(kuò)展,后來(lái)想添加擴(kuò)展,但是因?yàn)榘惭bphp后又裝了一些東西如PEAR等,不想再重新裝php,于是可以采用phpize來(lái)動(dòng)態(tài)加載需要安裝的模塊。

  具體實(shí)現(xiàn)方法如下(這里以忘記安裝pdo_mysql模塊為例):

  cd /root/source/php-5.3.10/ext/pdo_mysql

  /usr/local/php/bin/phpize

  在安裝完mysql后,并不是進(jìn)入/root/source/mysql-5.5.21目錄運(yùn)行phpize,而是進(jìn)入php的源文件中要增加的擴(kuò)展模塊的文件目錄---也就是/root/source/php-5.3.10/ext/pdo_mysql目錄執(zhí)行phpize。如果不是這樣操作的話(huà)就會(huì)提示下面的錯(cuò)誤:

  Cannot find config.m4.

  Make sure that you run /usr/local/php/bin/phpize in the top level source directory of the module

  關(guān)于上面的這個(gè)錯(cuò)誤,我不得不鄙視下網(wǎng)上有些自以為是的家伙,自認(rèn)為對(duì)所有的安裝操作很懂,報(bào)上面的錯(cuò)誤的時(shí)候,去修改源代碼,搞的亂七八糟,誤人子弟。根本不按php官方的文檔操作。

  目錄/root/source/php-5.3.10/ext/pdo_mysql ,在運(yùn)行phpize命令前并沒(méi)有configure文件,只有config.m4文件。運(yùn)行phpize就生成了一個(gè)可執(zhí)行的configure文件。此時(shí)就可以按照下的方法編譯了:

  ./configure --with-php-config=/usr/bin/php-config (還可以加一些其他的參數(shù),可通過(guò)./configure --help查看)

  make

  make install

  編譯完成后會(huì)提示擴(kuò)展模塊生成在/usr/local/php/lib/php/extensions/no-debug-non-zts-20090626目錄。

  修改php.ini文件

  vi /usr/local/php/etc/php.ini

  在其文件結(jié)尾加入下面的內(nèi)容:

  extension_dir="/usr/local/php/lib/php/extensions/no-debug-non-zts-20090626"

  extension=pdo_mysql.so

  安裝完成后,重啟php-fpm和web服務(wù)器。(因?yàn)槲矣玫氖莗hp-fpm和tengine,如果用的是apache則也重啟相應(yīng)的程序,重新加載就行了)

 

  本文中其實(shí)關(guān)于加速的部分是錯(cuò)誤的,因?yàn)楫?dāng)時(shí)我測(cè)試時(shí),只是把php安裝好以后,后面的eaccelerator加速部分是直接復(fù)制的原來(lái)的安裝部分,并未進(jìn)行測(cè)試,后來(lái)因?yàn)樯a(chǎn)環(huán)境的需要,進(jìn)行安裝時(shí),發(fā)現(xiàn)eaccelerator不支持最新的php5.3.10。于是換成更新速度最快的xcache發(fā)現(xiàn)支持。

發(fā)表評(píng)論 共有條評(píng)論
用戶(hù)名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 久久99精品久久久久久久久久久久 | 九九热这里只有精品8 | h视频免费看 | 国产午夜精品一区二区三区四区 | 一级黄色毛片a | 国产午夜精品理论片a级探花 | 欧美一级二级毛片视频 | 婷婷一区二区三区 | 久久千人斩 | av色哟哟| 狠狠色成色综合网 | 久草手机在线 | 国产无遮挡一级毛片 | 亚洲欧洲av在线 | 逼特逼视频在线观看 | 日本中文高清 | 成人三级黄色片 | 一级黄色影院 | 久久久久夜色精品国产老牛91 | av免费在线观看av | 亚洲网视频 | 欧美69free性videos | 久久精品亚洲精品国产欧美kt∨ | 鲁久久 | 99国产精品白浆在线观看免费 | 91久久久久久 | 精品一区二区在线播放 | www.99久久久| 日韩视频在线观看免费视频 | 天天看成人免费毛片视频 | 伊人在线视频 | 久久精品欧美视频 | 护士hd欧美free性xxxx | 国产在线观看av | 一区二区三区日韩在线 | 99国产精品自拍 | 日韩电影一区二区 | 亚洲小视频在线 | 欧美视频一区二区三区在线观看 | 91av大片| 国产91av视频 |