Rumah pembangunan bahagian belakang masalah PHP Bagaimana untuk menyediakan persekitaran penyahpepijatan php linux

Bagaimana untuk menyediakan persekitaran penyahpepijatan php linux

Dec 08, 2021 am 09:32 AM
linux

Cara menyediakan persekitaran penyahpepijatan PHP Linux: 1. Muat turun dan pasang MySQL 2. Dayakan php-fpm dan dengarkan port 9000; dan pasang Nginx.

Bagaimana untuk menyediakan persekitaran penyahpepijatan php linux

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/
Salin selepas log masuk

Dokumentasi:

https://dev.mysql.com/doc/mysql-apt-repo-quick-guide/en/#apt-repo-fresh-install
Salin selepas log masuk

2 Dayakan php-fpm di sini dan dengar pada port 9000.

Dokumen berkaitan:

a. >
http://php.net/manual/zh/install.unix.nginx.php
Salin selepas log masuk
b. Nyahzip, susun dan pasang

https://www.php.net/downloads.phpwget https://www.php.net/distributions/php-7.1.33.tar.gz
Salin selepas log masuk
Jika anda mempunyai kawalan yang diperkemas, anda mesti menambah --prefix, supaya direktori pemasangan akan berada di sana

Anda akan menghadapi masalah berikut apabila dilaksanakan mengikut urutan Beberapa masalah yang dihadapi ialah pcre, zlib, dan libxml2 tidak wujud Kemudian pergi terus ke tapak web rasmi Baidu untuk mendapatkan versi terkini pakej pemasangan format tar.gz dan kemudian nyahzip, kompilkan. , dan pasangkannya.

Manual pengenalan Swoole
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
Salin selepas log masuk

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
Salin selepas log masuk
./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
Salin selepas log masuk

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
Salin selepas log masuk

d baca dan konfigurasikan Kumpulan dan pengguna pengguna PHP-FPM dan dayakan mendengar pada port 9000)
vim /usr/local/php/lib/php.ini
修改参数为:cgi.fix_pathinfo=0
Salin selepas log masuk

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:

Buka

php-fpm.conf

groupadd www-data
useradd -g www-data www-data
Salin selepas log masuk
Cari garis bawah:

Tukar NONE ke laluan sebenar:

vim /usr/local/php/etc/php-fpm.conf
Salin selepas log masuk

Kemudian tambahkan kumpulan pengguna dan maklumat pengguna pada fail konfigurasi padanan biasa ini :

include=NONEl/etc/php-fpm.d/*.conf
Salin selepas log masuk

Tetapan pengguna dan perubahan yang ditemui adalah seperti berikut:
include=/usr/local/php/etc/php-fpm.d/*.conf
Salin selepas log masuk

Dayakan FPM
cd /usr/local/php/etc/php-fpm.d
sudo cp www.conf.default www.conf
Salin selepas log masuk
vim /usr/local/php/etc/php-fpm.d/www.conf
Salin selepas log masuk

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
Salin selepas log masuk

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
Salin selepas log masuk

3 Pasang Nginx
netstat -tln | grep 9000
Salin selepas log masuk

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 turun

http://www.nginx.cn/installhttp://www.nginx.cn/doc/setup/nginx-ubuntu.html
Salin selepas log masuk
Pilih kegemaran versi dan muat turunnya

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
Salin selepas log masuk
Jawapan direktori pemasangan:

Selepas pemasangan selesai, buat fail konfigurasi dalam /usr/local/nginx
tar -zxvf 
cd 
./configure --prefix=/usr/local/nginx
make 
make install
Salin selepas log masuk

: /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 nginx
location / {
            root   html;
            index  index.html index.php index.htm;
        }
Salin selepas log masuk
#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;#}
Salin selepas log masuk
html direktori Cipta test.php Penyemak imbas baharu masukkan localhost/text.php Anda boleh melihat bahawa konfigurasi berjaya.

sudo ./nginx -s reopen
Salin selepas log masuk

Pemasangan sambungan PHP:

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
Salin selepas log masuk

cd /home/username/php7.0.29/ext
cd curl
phpize
./configure --with-php-config=/usr/local/php/bin/php-config
make
make install
Salin selepas log masuk
Linux Arahan mudah dan biasa digunakan :

sudo apt-get install autoconf
Salin selepas log masuk

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 VIM
find / -name httpd.conf
Salin selepas log masuk

4 , Proses php-fpm ditutup

grep -r magic /usr/src
Salin selepas log masuk
5. Pemasangan MySQLI

./configure –with-php-config=/usr/local/php/bin/php-config –with-mysqli=/usr/bin/mysql_config
Salin selepas log masuk

php_config找不到

sudo apt-get install libmysqlclient-dev
Salin selepas log masuk

之后遇到make错误,mysqli.lo不存在,是因为某个.h文件未找到导致编译失败图示:

解决方案:

https://www.cnblogs.com/xiaoqian1993/p/6277771.html
Salin selepas log masuk

6、ubuntu安装apt install资源占用

Could not get lock /var/lib/dpkg/lock!
sudo rm /var/cache/apt/archives/locksudo rm /var/lib/dpkg/lock
Salin selepas log masuk

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
Salin selepas log masuk

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
Salin selepas log masuk

或者添加快捷方式形式:

ln -s /usr/local/mysql/bin/mysql_config /usr/local/bin/mysql_config
Salin selepas log masuk

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;
        }
    }


}
Salin selepas log masuk

composer安装

https://pkg.phpcomposer.com/#how-to-install-composer
Salin selepas log masuk

推荐学习:《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!

Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn

Alat AI Hot

Undresser.AI Undress

Undresser.AI Undress

Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover

AI Clothes Remover

Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool

Undress AI Tool

Gambar buka pakaian secara percuma

Clothoff.io

Clothoff.io

Penyingkiran pakaian AI

AI Hentai Generator

AI Hentai Generator

Menjana ai hentai secara percuma.

Artikel Panas

R.E.P.O. Kristal tenaga dijelaskan dan apa yang mereka lakukan (kristal kuning)
3 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Tetapan grafik terbaik
3 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Cara Memperbaiki Audio Jika anda tidak dapat mendengar sesiapa
3 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌
WWE 2K25: Cara Membuka Segala -galanya Di Myrise
4 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌

Alat panas

Notepad++7.3.1

Notepad++7.3.1

Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina

SublimeText3 versi Cina

Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1

Hantar Studio 13.0.1

Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6

Dreamweaver CS6

Alat pembangunan web visual

SublimeText3 versi Mac

SublimeText3 versi Mac

Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Tidak dapat log masuk ke mysql sebagai akar Tidak dapat log masuk ke mysql sebagai akar Apr 08, 2025 pm 04:54 PM

Sebab utama mengapa anda tidak boleh log masuk ke MySQL sebagai akar adalah masalah kebenaran, ralat fail konfigurasi, kata laluan tidak konsisten, masalah fail soket, atau pemintasan firewall. Penyelesaiannya termasuk: periksa sama ada parameter pengikat di dalam fail konfigurasi dikonfigurasi dengan betul. Semak sama ada kebenaran pengguna root telah diubahsuai atau dipadam dan ditetapkan semula. Sahkan bahawa kata laluan adalah tepat, termasuk kes dan aksara khas. Semak tetapan dan laluan kebenaran fail soket. Semak bahawa firewall menyekat sambungan ke pelayan MySQL.

C Language Compilation Compilation: Panduan terperinci untuk pemula ke aplikasi praktikal C Language Compilation Compilation: Panduan terperinci untuk pemula ke aplikasi praktikal Apr 04, 2025 am 10:48 AM

C Language Conditional Compilation adalah mekanisme untuk selektif menyusun blok kod berdasarkan keadaan kompilasi masa. Kaedah pengenalan termasuk: menggunakan arahan #if dan #Else untuk memilih blok kod berdasarkan syarat. Ekspresi bersyarat yang biasa digunakan termasuk STDC, _WIN32 dan LINUX. Kes praktikal: Cetak mesej yang berbeza mengikut sistem operasi. Gunakan jenis data yang berbeza mengikut bilangan digit sistem. Fail header yang berbeza disokong mengikut pengkompil. Penyusunan bersyarat meningkatkan kebolehgunaan dan fleksibiliti kod, menjadikannya boleh disesuaikan dengan pengkompil, sistem operasi, dan perubahan seni bina CPU.

【Rust Sendiri belajar】 Pengenalan 【Rust Sendiri belajar】 Pengenalan Apr 04, 2025 am 08:03 AM

1.0.1 Preface Projek ini (termasuk kod dan komen) telah direkodkan semasa karat saya yang diajar sendiri. Mungkin ada kenyataan yang tidak tepat atau tidak jelas, sila minta maaf. Jika anda mendapat manfaat daripadanya, ia lebih baik. 1.0.2 Mengapa Rustrust boleh dipercayai dan cekap? Karat boleh menggantikan C dan C, dengan prestasi yang sama tetapi keselamatan yang lebih tinggi, dan tidak memerlukan rekompilasi yang kerap untuk memeriksa kesilapan seperti C dan C. Kelebihan utama termasuk: Keselamatan Memori (mencegah penunjuk null dari dereferences, penunjuk menggantung, dan perbalahan data). Thread-safe (pastikan kod multi-threaded selamat sebelum pelaksanaan). Elakkan tingkah laku yang tidak ditentukan (mis., Arus dari batas, pembolehubah yang tidak diinisialisasi, atau akses kepada memori yang dibebaskan). Karat menyediakan ciri bahasa moden seperti generik

Apakah 5 komponen asas Linux? Apakah 5 komponen asas Linux? Apr 06, 2025 am 12:05 AM

Lima komponen asas Linux adalah: 1. Kernel, menguruskan sumber perkakasan; 2. Perpustakaan sistem, menyediakan fungsi dan perkhidmatan; 3. Shell, antara muka pengguna untuk berinteraksi dengan sistem; 4. Sistem fail, menyimpan dan menganjurkan data; 5. Aplikasi, menggunakan sumber sistem untuk melaksanakan fungsi.

Cara menyelesaikan MySQL tidak dapat dimulakan Cara menyelesaikan MySQL tidak dapat dimulakan Apr 08, 2025 pm 02:21 PM

Terdapat banyak sebab mengapa permulaan MySQL gagal, dan ia boleh didiagnosis dengan memeriksa log ralat. Penyebab umum termasuk konflik pelabuhan (periksa penghunian pelabuhan dan ubah suai konfigurasi), isu kebenaran (periksa keizinan pengguna yang menjalankan perkhidmatan), ralat fail konfigurasi (periksa tetapan parameter), rasuah direktori data (memulihkan data atau membina semula ruang meja), isu ruang jadual InnoDB (semak fail ibdata1) Apabila menyelesaikan masalah, anda harus menganalisisnya berdasarkan log ralat, cari punca utama masalah, dan mengembangkan tabiat sandaran data secara teratur untuk mencegah dan menyelesaikan masalah.

Bolehkah mysql berjalan di Android Bolehkah mysql berjalan di Android Apr 08, 2025 pm 05:03 PM

MySQL tidak boleh berjalan secara langsung di Android, tetapi ia boleh dilaksanakan secara tidak langsung dengan menggunakan kaedah berikut: menggunakan pangkalan data ringan SQLite, yang dibina di atas sistem Android, tidak memerlukan pelayan yang berasingan, dan mempunyai penggunaan sumber kecil, yang sangat sesuai untuk aplikasi peranti mudah alih. Sambungkan jauh ke pelayan MySQL dan sambungkan ke pangkalan data MySQL pada pelayan jauh melalui rangkaian untuk membaca dan menulis data, tetapi terdapat kelemahan seperti kebergantungan rangkaian yang kuat, isu keselamatan dan kos pelayan.

Di manakah perpustakaan fungsi bahasa C? Bagaimana untuk menambah perpustakaan fungsi bahasa C? Di manakah perpustakaan fungsi bahasa C? Bagaimana untuk menambah perpustakaan fungsi bahasa C? Apr 03, 2025 pm 11:39 PM

Perpustakaan Fungsi Bahasa C adalah kotak alat yang mengandungi pelbagai fungsi, yang dianjurkan dalam fail perpustakaan yang berbeza. Menambah perpustakaan memerlukan menyatakannya melalui pilihan baris perintah pengkompil, contohnya, pengkompil GCC menggunakan pilihan -L diikuti dengan singkatan nama perpustakaan. Jika fail perpustakaan tidak berada di bawah laluan carian lalai, anda perlu menggunakan pilihan -L untuk menentukan laluan fail perpustakaan. Perpustakaan boleh dibahagikan kepada perpustakaan statik dan perpustakaan dinamik. Perpustakaan statik secara langsung dikaitkan dengan program pada masa kompilasi, manakala perpustakaan dinamik dimuatkan semasa runtime.

Penyelesaian kepada kesilapan yang dilaporkan oleh MySQL pada versi sistem tertentu Penyelesaian kepada kesilapan yang dilaporkan oleh MySQL pada versi sistem tertentu Apr 08, 2025 am 11:54 AM

Penyelesaian kepada ralat pemasangan MySQL adalah: 1. Berhati -hati memeriksa persekitaran sistem untuk memastikan keperluan perpustakaan ketergantungan MySQL dipenuhi. Sistem operasi dan keperluan versi yang berbeza adalah berbeza; 2. Berhati -hati membaca mesej ralat dan mengambil langkah -langkah yang sepadan mengikut arahan (seperti fail perpustakaan yang hilang atau kebenaran yang tidak mencukupi), seperti memasang kebergantungan atau menggunakan arahan sudo; 3 Jika perlu, cuba pasang kod sumber dan periksa dengan teliti log kompilasi, tetapi ini memerlukan pengetahuan dan pengalaman Linux tertentu. Kunci untuk menyelesaikan masalah akhirnya adalah dengan teliti memeriksa persekitaran sistem dan maklumat ralat, dan merujuk kepada dokumen rasmi.

See all articles