Cara menyediakan persekitaran penyahpepijatan PHP Linux: 1. Muat turun dan pasang MySQL 2. Dayakan php-fpm dan dengarkan port 9000; dan pasang Nginx.
Persekitaran pengendalian artikel ini: sistem ubuntu 16.04, PHP versi 7.1, komputer Dell G3.
Bagaimana untuk menyediakan persekitaran penyahpepijatan php linux?
Persekitaran pembangunan PHP Linux cepat ditubuhkan
Persekitaran yang dibina ialah LNMP:
1
Ini sangat mudah saya menggunakan Ubuntu, jadi gunakan sumber apt, muat turun fail deb dan ikuti dokumen pemasangan baharu mengikut urutan: apt Update library c. Pasang d. Jalankan MySQL
Muat turun:
https://dev.mysql.com/downloads/repo/apt/
Dokumentasi:
https://dev.mysql.com/doc/mysql-apt-repo-quick-guide/en/#apt-repo-fresh-install
2 Dayakan php-fpm di sini dan dengar pada port 9000.
Dokumen berkaitan:
a. >http://php.net/manual/zh/install.unix.nginx.php
https://www.php.net/downloads.phpwget https://www.php.net/distributions/php-7.1.33.tar.gz
tar zxf php-x.x.x cd ../php-x.x.x./configure --prefix=/usr/local/php --enable-fpm --enable-pdo --with-pdo-mysql --enable-mysqlnd --with-mysqli --with-opensslmake sudo make install
c. Selepas pemasangan, fail konfigurasi (diimport daripada dokumen rasmi), jangan lupa setiap baris
Selingan: Untuk mengelakkan fail daripada tidak wujud, halang Nginx daripada menghantar permintaan ke modul PHP-FPM bahagian belakang untuk mengelakkan daripada diserang oleh suntikan skrip berniat jahat
https://linkeddestiny.gitbooks.io/easy-swoole/content/book/chapter01/install.html
./configure --prefix=/usr/local/php \ --with-config-file-path=/etc/php \ --enable-fpm \ --enable-pcntl \ --enable-mysqlnd \ --enable-opcache \ --enable-sockets \ --enable-sysvmsg \ --enable-sysvsem \ --enable-sysvshm \ --enable-shmop \ --enable-zip \ --enable-soap \ --enable-xml \ --enable-mbstring \ --disable-rpath \ --disable-debug \ --disable-fileinfo \ --with-mysqli=mysqlnd \ --with-pdo-mysql=mysqlnd \ --with-pcre-regex \ --with-iconv \ --with-zlib \ --with-mcrypt \ --with-gd \ --with-openssl \ --with-mhash \ --with-xmlrpc \ --with-curl \ --with-imap-ssl
Memandangkan saya tidak biasa dengan vim sama ada Adalah disyorkan untuk membukanya dengan perisian antara muka grafik seperti sudo atom atau sudo sublime
sudo cp php.ini-development /usr/local/php/lib/php.ini cp /usr/local/php/etc/php-fpm.conf.default /usr/local/php/etc/php-fpm.conf cp sapi/fpm/php-fpm /usr/local/php/bin
vim /usr/local/php/lib/php.ini 修改参数为:cgi.fix_pathinfo=0
Malah, manual mengatakan bahawa /usr/local/etc/php-fpm.conf tidak mempunyai pilihan konfigurasi kumpulan pengguna sama sekali, jadi anda perlu menambahnya secara manual Ia akan melaporkan bahawa fail tidak dapat ditemui, yang sangat mengecewakan Anda harus menyediakan seperti ini untuk mencipta pengguna web:
Bukaphp-fpm.conf
groupadd www-data useradd -g www-data www-data
Tukar NONE ke laluan sebenar:
vim /usr/local/php/etc/php-fpm.conf
Kemudian tambahkan kumpulan pengguna dan maklumat pengguna pada fail konfigurasi padanan biasa ini :
include=NONEl/etc/php-fpm.d/*.conf
include=/usr/local/php/etc/php-fpm.d/*.conf
cd /usr/local/php/etc/php-fpm.d sudo cp www.conf.default www.conf
vim /usr/local/php/etc/php-fpm.d/www.conf
e Semak sama ada ia berjaya:
; Unix user/group of processes ; Note: The user is mandatory. If the group is not set, the default user's group; will be used. user = www-data group = www-data
Jika anda melihat TCP 9000 LISTEN, ini bermakna konfigurasi berjaya output, ini bermakna port 9000 tidak mendengar, sila cuba lagi
/usr/local/bin/php-fpm
netstat -tln | grep 9000
Dokumentasi Cina Nginx membuatkan saya bingung. . Kedua-dua versi ini selalu ada pelbagai masalah apabila memasang PHP5 atau terlalu banyak parameter Dan saya tidak suka memasang begitu banyak kebebasan dalam pemilihan versi. Saya perlu menggunakan apt untuk memadam, jadi saya memasangnya dengan cara yang paling mudah, iaitu memuat turun, menyusun, memasang
Muat turunhttp://www.nginx.cn/installhttp://www.nginx.cn/doc/setup/nginx-ubuntu.html
Jika ia menggesa bahawa sesetengah perisian seperti zlib tidak wujud semasa konfigurasi, Baidu memuat turun pakej tar, menyahmampat dan memasangnya
http://nginx.org/en/download.html
tar -zxvf cd ./configure --prefix=/usr/local/nginx make make install
: /usr/local/nginx/conf/nginx.conf
Direktori fail hos maya: /usr/ local/nginx/html
Fail pelaksanaan:/usr/local/nginx/sbin/nginx
Apa yang perlu dilakukan oleh fail konfigurasi ialah menambah index.php selepas a.index. html b. Mematuhi Peraturan .php diserahkan kepada port 9000
Port menggunakan nginx lalai:80 php:9000 dan direktori hos maya menggunakan lalai /usr/local/nginx/html
Sebanyak dua tempat dikonfigurasikan:
Baiklah, sekarang pergi ke direktori pelaksanaan
Mulakan nginxlocation / { root html; index index.html index.php index.htm; }
#location ~ \.php$ {# root html;# fastcgi_pass 127.0.0.1:9000;# fastcgi_index index.php;# fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;# include fastcgi_params;#}
sudo ./nginx -s reopen
Manual Rujukan Proses pelaksanaan ialah: masukkan ext pakej kod sumber PHP yang digunakan untuk penyusunan dan kemudian masukkan direktori sambungan yang berkaitan phpize menjana fail konfigurasi ./configure, make && make install
mungkin Jika ralat autoconf berlaku, jalankan terus pada Ubuntu Kemudian pergi ke lib.php/ini dan alih keluar komen sambungan:
http://php.net/manual/zh/install.pecl.phpize.php
cd /home/username/php7.0.29/ext cd curl phpize ./configure --with-php-config=/usr/local/php/bin/php-config make make install
sudo apt-get install autoconf
1. Cari fail httpd.conf dalam direktori akar:
2. Paparkan < dalam direktori /usr/src 🎜>Fail (termasuk subdirektori)mengandungi baris ajaib Carian ini ialah kandungan fail:
3. Kandungan carian editor VIMfind / -name httpd.conf
4 , Proses php-fpm ditutup
grep -r magic /usr/src
./configure –with-php-config=/usr/local/php/bin/php-config –with-mysqli=/usr/bin/mysql_config
php_config找不到
sudo apt-get install libmysqlclient-dev
之后遇到make错误,mysqli.lo不存在,是因为某个.h文件未找到导致编译失败图示:
解决方案:
https://www.cnblogs.com/xiaoqian1993/p/6277771.html
6、ubuntu安装apt install资源占用
Could not get lock /var/lib/dpkg/lock! sudo rm /var/cache/apt/archives/locksudo rm /var/lib/dpkg/lock
7、简单的定时任务
ubuntu 设定定时器任务:1、 将ubuntu中crontab的编译器切换到VIM export EDITOR=vim 修改后最好重启一下crontab /etc/init.d/cron stop /etc/init.d/cron start 2、 设定每一分钟向/home/hello.txt文本追加一个hello 创建tesh.sh内容: echo hello >> /home/hello.txt 创建文件hello.txt(注意所属用户、所属组、其他用户)的读写执行权限的分配. 将.sh加入定时任务 命令行输入 crontab -e 编辑文本内容为 */1 * * * * sh /home/test.sh
linux添加环境变量:
由于linux环境变量值中/usr/local/php并不属于,/usr/local/bin里面的倒是可以全局访问的,现在将php加入全局变量。
sudo vim /etc/profile//加入mysql、PHP的执行文件所在目录PATH=$PATH:/usr/local/php/bin:/usr/local/mysql/bin export PATH//两行代码加到末尾然后执行以下指令使其生效source /etc/profile
或者添加快捷方式形式:
ln -s /usr/local/mysql/bin/mysql_config /usr/local/bin/mysql_config
nginx.conf | laravel
#user www-data; worker_processes 1; events { worker_connections 1024; } http { include mime.types; default_type application/octet-stream; sendfile on; keepalive_timeout 65; #gzip on; # server { listen 8080; server_name localhost; index index.html index.htm index.php; location / { root /home/www/laravel/public; autoindex on; try_files $uri $uri/ /index.php?$query_string; } # pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000 # location ~ \.php$ { root /home/www/laravel/public; fastcgi_pass 127.0.0.1:9000; fastcgi_index index.php; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; include fastcgi_params; } } server { listen 80; server_name localhost; index index.html index.htm index.php; location / { root /home/www; autoindex on; try_files $uri $uri/ /index.php?$query_string; } # pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000 # location ~ \.php$ { root /home/www; fastcgi_pass 127.0.0.1:9000; fastcgi_index index.php; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; include fastcgi_params; } } }
composer安装
https://pkg.phpcomposer.com/#how-to-install-composer
推荐学习:《PHP视频教程》
Atas ialah kandungan terperinci Bagaimana untuk menyediakan persekitaran penyahpepijatan php linux. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!