{"id":698,"date":"2025-06-11T17:55:50","date_gmt":"2025-06-11T09:55:50","guid":{"rendered":"https:\/\/www.zhaozhao123.cn\/php\/php-application-manual\/andweb\/698.html"},"modified":"2025-06-11T17:55:50","modified_gmt":"2025-06-11T09:55:50","slug":"%e5%a6%82%e4%bd%95%e5%b0%86php%e7%bd%91%e7%ab%99%e9%83%a8%e7%bd%b2%e5%88%b0ubuntu%e6%9c%8d%e5%8a%a1%e5%99%a8","status":"publish","type":"my1js","link":"https:\/\/www.zhaozhao123.cn\/php\/my1js\/698.html","title":{"rendered":"\u5982\u4f55\u5c06PHP\u7f51\u7ad9\u90e8\u7f72\u5230Ubuntu\u670d\u52a1\u5668"},"content":{"rendered":"<div class=\"wp-block-columns p-0 border is-layout-flex wp-container-core-columns-is-layout-28f84493 wp-block-columns-is-layout-flex\">\r\n<div class=\"wp-block-column is-layout-flow wp-block-column-is-layout-flow\">\r\n<div class=\"wp-block-columns px-4 py-3 border-bottom has-background is-layout-flex wp-container-core-columns-is-layout-28f84493 wp-block-columns-is-layout-flex\" style=\"background:linear-gradient(243deg,rgb(238,238,238) 0%,rgba(58,166,242,0.15) 100%)\">\r\n<div class=\"wp-block-column is-layout-flow wp-block-column-is-layout-flow\">\r\n<div class=\"wp-block-group is-nowrap is-layout-flex wp-container-core-group-is-layout-6c531013 wp-block-group-is-layout-flex\">\r\n<figure class=\"wp-block-image size-thumbnail is-resized is-style-rounded is-style-rounded--1\"><img decoding=\"async\" src=\"https:\/\/www.zhaozhao123.cn\/myitems\/images\/sites16\/2025\/06\/dyA-1-400x300.jpg\" alt=\"Bug&#32534;&#35793;&#29422;\" class=\"wp-image-1842\" style=\"object-fit:cover;width:30px;height:30px\"><\/figure>\r\n\r\n\r\n\r\n<h2 class=\"wp-block-heading my-0\" style=\"font-size:clamp(0.875rem, 0.875rem + ((1vw - 0.2rem) * 0.175), 1rem);\">Bug&#32534;&#35793;&#29422;<\/h2>\r\n<\/div>\r\n<\/div>\r\n<\/div>\r\n\r\n\r\n\r\n<div class=\"wp-block-columns px-xl-5 px-4 py-xl-4 py-3 is-layout-flex wp-container-core-columns-is-layout-28f84493 wp-block-columns-is-layout-flex\">\r\n<div class=\"wp-block-column is-layout-flow wp-block-column-is-layout-flow\">\r\n<p>&#23558;PHP&#32593;&#31449;&#37096;&#32626;&#21040;Ubuntu&#26381;&#21153;&#22120;&#26159;&#19968;&#20010;&#30456;&#23545;&#31616;&#21333;&#30340;&#36807;&#31243;&#65292;&#20294;&#38656;&#35201;&#19968;&#20123;&#22522;&#26412;&#30340;&#25216;&#33021;&#21644;&#27493;&#39588;&#12290;&#20197;&#19979;&#26159;&#19968;&#20010;&#35814;&#32454;&#30340;&#25351;&#21335;&#65292;&#24110;&#21161;&#20320;&#23436;&#25104;&#36825;&#20010;&#20219;&#21153;&#65306;<\/p>\n<h3>1. &#20934;&#22791;&#24037;&#20316;<\/h3>\n<h4>&#30828;&#20214;&#35201;&#27714;<\/h4>\n<ul>\n<li>Ubuntu&#26381;&#21153;&#22120;&#65288;&#25512;&#33616;&#20351;&#29992;LAMP stack&#65289;<\/li>\n<li>PHP&#29615;&#22659;<\/li>\n<li>MySQL&#25968;&#25454;&#24211;<\/li>\n<li>Web&#27983;&#35272;&#22120;<\/li>\n<\/ul>\n<h4>&#36719;&#20214;&#35201;&#27714;<\/h4>\n<ul>\n<li>SSH&#23458;&#25143;&#31471;&#65288;&#22914;PuTTY&#65289;<\/li>\n<li>FTP&#23458;&#25143;&#31471;&#65288;&#22914;FileZilla&#65289;<\/li>\n<\/ul>\n<h3>2. &#23433;&#35013;Ubuntu&#26381;&#21153;&#22120;<\/h3>\n<p>&#22914;&#26524;&#20320;&#36824;&#27809;&#26377;Ubuntu&#26381;&#21153;&#22120;&#65292;&#21487;&#20197;&#25353;&#29031;<a href=\"https:\/\/www.zhaozhao123.cn\/skin\/go?url=aHR0cHM6Ly91YnVudHUuY29tL2Rvd25sb2FkL3NlcnZlcg==\" rel=\"noopener noreferrer nofollow\">Ubuntu&#23448;&#26041;&#25991;&#26723;<\/a>&#36827;&#34892;&#23433;&#35013;&#12290;<\/p>\n<h3>3. &#26356;&#26032;&#31995;&#32479;<\/h3>\n<p>&#25171;&#24320;&#32456;&#31471;&#24182;&#36816;&#34892;&#20197;&#19979;&#21629;&#20196;&#26469;&#26356;&#26032;&#31995;&#32479;&#65306;<\/p>\n<pre><code class=\"language-bash\">sudo apt update\nsudo apt upgrade -y<\/code><\/pre>\n<h3>4. &#23433;&#35013;LAMP Stack<\/h3>\n<p>LAMP&#65288;Linux, Apache, MySQL, PHP&#65289;&#26159;&#24120;&#29992;&#30340;Web&#24320;&#21457;&#29615;&#22659;&#12290;&#20320;&#21487;&#20197;&#20351;&#29992;<code>apt<\/code>&#21253;&#31649;&#29702;&#22120;&#26469;&#23433;&#35013;&#23427;&#12290;<\/p>\n<pre><code class=\"language-bash\">sudo apt install apache2 mysql-server php php-mysql -y<\/code><\/pre>\n<h3>5. &#37197;&#32622;MySQL<\/h3>\n<p>&#21551;&#21160;MySQL&#26381;&#21153;&#24182;&#35774;&#32622; root&#23494;&#30721;&#65306;<\/p>\n<pre><code class=\"language-bash\">sudo systemctl start mysql\nsudo systemctl enable mysql\nsudo mysql_secure_installation<\/code><\/pre>\n<h3>6. &#21019;&#24314;&#25968;&#25454;&#24211;&#21644;&#29992;&#25143;<\/h3>\n<p>&#30331;&#24405;&#21040;MySQL&#24182;&#21019;&#24314;&#19968;&#20010;&#26032;&#30340;&#25968;&#25454;&#24211;&#21644;&#29992;&#25143;&#65306;<\/p>\n<pre><code class=\"language-bash\">mysql -u root -p<\/code><\/pre>\n<p>&#36755;&#20837;root&#23494;&#30721;&#21518;&#65292;&#25191;&#34892;&#20197;&#19979;SQL&#21629;&#20196;&#65306;<\/p>\n<pre><code class=\"language-sql\">CREATE DATABASE mywebsite;\nCREATE USER 'myuser'@'localhost' IDENTIFIED BY 'mypassword';\nGRANT ALL PRIVILEGES ON mywebsite.* TO 'myuser'@'localhost';\nFLUSH PRIVILEGES;\nEXIT;<\/code><\/pre>\n<h3>7. &#19979;&#36733;&#21644;&#35299;&#21387;PHP&#39033;&#30446;<\/h3>\n<p>&#20551;&#35774;&#20320;&#30340;PHP&#39033;&#30446;&#20301;&#20110;&#26412;&#22320;&#25991;&#20214;&#31995;&#32479;&#19978;&#30340;<code>\/home\/user\/myproject<\/code>&#30446;&#24405;&#12290;&#20320;&#21487;&#20197;&#20351;&#29992;FTP&#24037;&#20855;&#23558;&#39033;&#30446;&#19978;&#20256;&#21040;Ubuntu&#26381;&#21153;&#22120;&#19978;&#65292;&#25110;&#32773;&#30452;&#25509;&#36890;&#36807;SSH&#19978;&#20256;&#12290;<\/p>\n<h4>&#20351;&#29992;FTP&#19978;&#20256;<\/h4>\n<ol>\n<li>&#25171;&#24320;FileZilla&#24182;&#36830;&#25509;&#21040;Ubuntu&#26381;&#21153;&#22120;&#12290;<\/li>\n<li>&#23548;&#33322;&#21040; <code>\/var\/www\/html<\/code> &#30446;&#24405;&#12290;<\/li>\n<li>&#23558;<code>\/home\/user\/myproject<\/code>&#30446;&#24405;&#20013;&#30340;&#25152;&#26377;&#25991;&#20214;&#22797;&#21046;&#21040;<code>\/var\/www\/html<\/code>&#30446;&#24405;&#12290;<\/li>\n<\/ol>\n<h4>&#20351;&#29992;SSH&#19978;&#20256;<\/h4>\n<ol>\n<li>&#36830;&#25509;&#21040;Ubuntu&#26381;&#21153;&#22120;&#12290;<\/li>\n<li>&#20351;&#29992;&#20197;&#19979;&#21629;&#20196;&#23558;&#39033;&#30446;&#21387;&#32553;&#24182;&#20256;&#36755;&#21040;&#26381;&#21153;&#22120;&#65306;\n<pre><code class=\"language-bash\">tar -czvf myproject.tar.gz \/home\/user\/myproject\nscp myproject.tar.gz user@yourserver:\/var\/www\/html\/<\/code><\/pre><\/li>\n<\/ol>\n<h3>8. &#35299;&#21387;&#39033;&#30446;<\/h3>\n<p>&#36827;&#20837;<code>\/var\/www\/html<\/code>&#30446;&#24405;&#24182;&#35299;&#21387;&#39033;&#30446;&#65306;<\/p>\n<pre><code class=\"language-bash\">cd \/var\/www\/html\ntar -xzvf myproject.tar.gz<\/code><\/pre>\n<h3>9. &#35774;&#32622;&#26435;&#38480;<\/h3>\n<p>&#30830;&#20445;Apache&#26377;&#26435;&#38480;&#35775;&#38382;&#39033;&#30446;&#25991;&#20214;&#65306;<\/p>\n<pre><code class=\"language-bash\">sudo chown -R www-data:www-data \/var\/www\/html\/myproject\nsudo chmod -R 755 \/var\/www\/html\/myproject<\/code><\/pre>\n<h3>10. &#27979;&#35797;&#32593;&#31449;<\/h3>\n<p>&#25171;&#24320;&#27983;&#35272;&#22120;&#24182;&#35775;&#38382;<code>http:\/\/yourserver_ip_or_domain<\/code>&#65292;&#20320;&#24212;&#35813;&#33021;&#30475;&#21040;&#20320;&#30340;PHP&#39033;&#30446;&#12290;<\/p>\n<h3>&#31034;&#20363;&#20195;&#30721;<\/h3>\n<p>&#20197;&#19979;&#26159;&#19968;&#20010;&#31616;&#21333;&#30340;PHP&#33050;&#26412;&#31034;&#20363;&#65292;&#29992;&#20110;&#27979;&#35797;&#26159;&#21542;&#25104;&#21151;&#37197;&#32622;&#20102;PHP&#21644;MySQL&#65306;<\/p>\n<pre><code class=\"language-php\">&lt;?php\n\/\/ &#33719;&#21462;&#25968;&#25454;&#24211;&#36830;&#25509;&#20449;&#24687;\n$servername = \"localhost\";\n$username = \"myuser\";\n$password = \"mypassword\";\n$dbname = \"mywebsite\";\n\n\/\/ &#21019;&#24314;&#36830;&#25509;\n$conn = new mysqli($servername, $username, $password, $dbname);\n\n\/\/ &#26816;&#26597;&#36830;&#25509;\nif ($conn-&gt;connect_error) {\n    die(\"Connection failed: \" . $conn-&gt;connect_error);\n}\n\necho \"Connected successfully\";\n\n\/\/ &#20851;&#38381;&#36830;&#25509;\n$conn-&gt;close();\n?&gt;<\/code><\/pre>\n<p>&#20445;&#23384;&#36825;&#20010;&#33050;&#26412;&#20026;<code>index.php<\/code>&#65292;&#28982;&#21518;&#19978;&#20256;&#21040;<code>\/var\/www\/html<\/code>&#30446;&#24405;&#65292;&#24182;&#30830;&#20445;&#20854;&#26435;&#38480;&#27491;&#30830;&#12290;<\/p>\n<p>&#36890;&#36807;&#20197;&#19978;&#27493;&#39588;&#65292;&#20320;&#24212;&#35813;&#33021;&#22815;&#25104;&#21151;&#23558;PHP&#32593;&#31449;&#37096;&#32626;&#21040;Ubuntu&#26381;&#21153;&#22120;&#19978;&#12290;&#22914;&#26524;&#26377;&#20219;&#20309;&#38382;&#39064;&#65292;&#35831;&#38543;&#26102;&#25552;&#38382;&#65281;<\/p>\r\n<\/div>\r\n<\/div>\r\n<\/div>\r\n<\/div><div class=\"wp-block-columns p-0 border is-layout-flex wp-container-core-columns-is-layout-28f84493 wp-block-columns-is-layout-flex\">\r\n<div class=\"wp-block-column is-layout-flow wp-block-column-is-layout-flow\">\r\n<div class=\"wp-block-columns px-4 py-3 border-bottom has-background is-layout-flex wp-container-core-columns-is-layout-28f84493 wp-block-columns-is-layout-flex\" style=\"background:linear-gradient(243deg,rgb(238,238,238) 0%,rgba(58,166,242,0.15) 100%)\">\r\n<div class=\"wp-block-column is-layout-flow wp-block-column-is-layout-flow\">\r\n<div class=\"wp-block-group is-nowrap is-layout-flex wp-container-core-group-is-layout-6c531013 wp-block-group-is-layout-flex\">\r\n<figure class=\"wp-block-image size-thumbnail is-resized is-style-rounded is-style-rounded--2\"><img decoding=\"async\" src=\"https:\/\/www.zhaozhao123.cn\/myitems\/images\/sites16\/2025\/06\/zp-400x300.jpg\" alt=\"&#40657;&#26495;Bug&#35762;&#24072;\" class=\"wp-image-1849\" style=\"object-fit:cover;width:30px;height:30px\"><\/figure>\r\n\r\n\r\n\r\n<h2 class=\"wp-block-heading my-0\" style=\"font-size:clamp(0.875rem, 0.875rem + ((1vw - 0.2rem) * 0.175), 1rem);\">&#40657;&#26495;Bug&#35762;&#24072;<\/h2>\r\n<\/div>\r\n<\/div>\r\n<\/div>\r\n\r\n\r\n\r\n<div class=\"wp-block-columns px-xl-5 px-4 py-xl-4 py-3 is-layout-flex wp-container-core-columns-is-layout-28f84493 wp-block-columns-is-layout-flex\">\r\n<div class=\"wp-block-column is-layout-flow wp-block-column-is-layout-flow\">\r\n<body><h2>&#20171;&#32461;<\/h2><p>&#37096;&#32626;&#19968;&#20010;PHP&#32593;&#31449;&#21040;Ubuntu&#26381;&#21153;&#22120;&#38656;&#35201;&#36827;&#34892;&#22810;&#27493;&#39588;&#30340;&#36807;&#31243;&#65292;&#21253;&#25324;&#35774;&#32622;Web&#26381;&#21153;&#22120;&#21644;PHP&#12289;&#37197;&#32622;&#25968;&#25454;&#24211;&#20197;&#21450;&#23558;&#32593;&#31449;&#25991;&#20214;&#20256;&#36755;&#21040;&#26381;&#21153;&#22120;&#12290;&#26412;&#25351;&#21335;&#23558;&#25351;&#23548;&#24744;&#22914;&#20309;&#22312;Ubuntu&#26381;&#21153;&#22120;&#19978;&#36816;&#34892;&#24744;&#30340;PHP&#31449;&#28857;&#12290;<\/p><p>&#22312;&#25105;&#20204;&#24320;&#22987;&#20043;&#21069;&#65292;&#35753;&#25105;&#20204;&#30830;&#20445;&#24744;&#24050;&#32463;&#20855;&#22791;&#20197;&#19979;&#24517;&#35201;&#26465;&#20214;&#65306;<\/p><p>&#22495;&#21517;&#25351;&#21521;&#24744;&#30340;&#26381;&#21153;&#22120;&#30340;&#20844;&#20849;IP&#22320;&#22336;&#65288;&#23545;&#20110;&#26412;&#22320;\/&#27979;&#35797;&#29615;&#22659;&#21487;&#36873;&#65289;&#12290;<\/p><p>&#19968;&#20010;&#26377;sudo&#26435;&#38480;&#30340;&#38750;root&#29992;&#25143;<\/p><p>&#36816;&#34892;&#19968;&#20010;Ubuntu&#26381;&#21153;&#22120;&#65288;&#25105;&#20204;&#23558;&#20351;&#29992;Ubuntu 20.04&#65289;<\/p><h2>&#27493;&#39588;&#25351;&#21335;<\/h2><h3>&#27493;&#39588;1&#65306;&#30830;&#20445;&#26381;&#21153;&#22120;&#23433;&#20840;<\/h3><p>&#26356;&#26032;&#21253;&#21015;&#34920;&#65306;<\/p><pre><code>sudo apt update\nsudo apt upgrade<\/code><\/pre><p>&#20351;&#29992;UFW&#65288;Uncomplicated Firewall&#65289;&#35774;&#32622;&#38450;&#28779;&#22681;&#65292;&#30830;&#20445;&#21482;&#20801;&#35768;&#29305;&#23450;&#30340;&#26381;&#21153;&#35775;&#38382;&#65306;<\/p><pre><code>sudo ufw enable\nsudo ufw allow OpenSSH\nsudo ufw allow http\nsudo ufw allow https<\/code><\/pre><h3>&#27493;&#39588; 2&#65306;&#23433;&#35013; Nginx&#12289;PHP &#21644;&#25193;&#23637;&#12290;<\/h3><p>&#23433;&#35013; Nginx&#65306;<\/p><pre><code>sudo apt install nginx<\/code><\/pre><p>&#23433;&#35013;PHP&#21450;&#20854;&#24120;&#29992;&#25193;&#23637;&#65306;<\/p><pre><code>sudo apt install php-fpm php-mysql php-xml php-xmlrpc php-gd php-curl php-cli php-zip php-mbstring<\/code><\/pre><h3>&#27493;&#39588;3&#65306;&#37197;&#32622;Nginx&#20197;&#36816;&#34892;PHP<\/h3><p>&#21019;&#24314;&#24744;&#30340;&#31449;&#28857;&#26381;&#21153;&#22120;&#22359;&#25991;&#20214;&#65306;<\/p><pre><code>sudo nano \/etc\/nginx\/sites-available\/yourdomain.com<\/code><\/pre><p>&#35831;&#25554;&#20837;&#20197;&#19979;&#22359;&#24182;&#20462;&#25913;&ldquo;root&rdquo;&#25351;&#21521;&#24744;&#30340;&#31449;&#28857;&#30446;&#24405;&#65306;<\/p><pre><code>server {\n    listen 80;\n    server_name yourdomain.com www.yourdomain.com;\n    root \/var\/www\/yourdomain;\n    index index.php index.html index.htm;\n\n    location \/ {\n        try_files $uri $uri\/ =404;\n    }\n\n    location ~ .php$ {\n        include snippets\/fastcgi-php.conf;\n        fastcgi_pass unix:\/var\/run\/php\/php7.4-fpm.sock;\n    }\n\n    location ~ \/.ht {\n        deny all;\n    }\n}<\/code><\/pre><p>&#21019;&#24314;&#19968;&#20010;&#31526;&#21495;&#38142;&#25509;&#21040; &#8216;sites-enabled&#8217;&#65292;&#20197;&#21551;&#29992;&#24744;&#30340;&#31449;&#28857;&#65306;<\/p><pre><code>sudo ln -s \/etc\/nginx\/sites-available\/yourdomain.com \/etc\/nginx\/sites-enabled\/<\/code><\/pre><p>&#27979;&#35797;&#37197;&#32622;&#24182;&#37325;&#21551;Nginx&#65306;<\/p><pre><code>sudo nginx -t\nsudo systemctl restart nginx<\/code><\/pre><h3>&#27493;&#39588; 4&#65306;&#35774;&#32622;&#25968;&#25454;&#24211;<\/h3><p>&#23433;&#35013;MySQL&#65306;<\/p><pre><code>sudo apt install mysql-server<\/code><\/pre><p>&#35831;&#30830;&#20445;&#24744;&#30340;&#23433;&#35013;&#65306;<\/p><pre><code>sudo mysql_secure_installation<\/code><\/pre><p>&#30331;&#24405;&#21040;&#25968;&#25454;&#24211;&#24182;&#21019;&#24314;&#19968;&#20010;&#25968;&#25454;&#24211;&#21644;&#29992;&#25143;&#65306;<\/p><pre><code>mysql -u root -p\nCREATE DATABASE your_db_name;\nCREATE USER 'your_user'@'localhost' IDENTIFIED BY 'your_password';\nGRANT ALL PRIVILEGES ON your_db_name.* TO 'your_user'@'localhost';\nFLUSH PRIVILEGES;\nexit;<\/code><\/pre><h3>&#27493;&#39588; 5&#65306;&#19978;&#20256;&#24744;&#30340; PHP &#32593;&#31449;<\/h3><p>&#19978;&#20256;&#25991;&#20214;&#20351;&#29992;SFTP&#25110;&#24744;&#21916;&#27426;&#30340;&#20219;&#20309;&#23433;&#20840;&#26041;&#27861;&#12290;&#35831;&#23558;&#24744;&#30340;&#32593;&#31449;&#25991;&#20214;&#25918;&#32622;&#22312;Nginx&#37197;&#32622;&#20013;&#25351;&#23450;&#30340;&#30446;&#24405;&#20869;&#65288;&#20363;&#22914;&#65292;&ldquo;\/var\/www\/yourdomain&rdquo;&#65289;&#12290;<\/p><h3>&#31532;6&#27493;&#65306;&#22312;&#24744;&#30340;Web&#26381;&#21153;&#22120;&#19978;&#27979;&#35797;PHP&#22788;&#29702;&#12290;<\/h3><p>&#22312;&#24744;&#30340;&#32593;&#31449;&#26681;&#30446;&#24405;&#19979;&#21019;&#24314;&#19968;&#20010;&#21517;&#20026; &#8216;info.php&#8217; &#30340;&#25991;&#20214;&#65306;<\/p><pre><code>echo \"\" | sudo tee \/var\/www\/yourdomain\/info.php<\/code><\/pre><p>&#35775;&#38382;&#24744;&#30340;&#32593;&#31449;&#65292;&#36890;&#36807;&#27983;&#35272;&#22120;&#35775;&#38382;<a href=\"https:\/\/www.zhaozhao123.cn\/skin\/go?url=aHR0cDovL3lvdXJkb21haW4uY29tL2luZm8ucGhwJiMxMjI5MDsmIzIwMzIwOyYjMjQyMTI7JiMzNTgxMzsmIzMzMDIxOyYjMzA0NzU7JiMyMTA0MDtQSFAmIzIwNDQ5OyYjMjQ2ODc7JiMzOTAyOTsmIzM4NzU0OyYjMTIyOTA7JiMyNzk3OTsmIzM1Nzk3OyYjMjE1MTg7JiM2NTI5MjsmIzM1ODMxOyYjMzU3NjA7JiMyNDQ3MTsmIzMxMjI3OyYjMzg1MDA7JiMzNTgxMzsmIzI1OTkxOyYjMjAyMTQ7JiMwMzg7IzY1MzA2\" rel=\"noopener noreferrer nofollow\" rel=\"nofollow\">http:\/\/yourdomain.com\/info.php&#12290;&#20320;&#24212;&#35813;&#33021;&#30475;&#21040;PHP&#20449;&#24687;&#39029;&#38754;&#12290;&#27979;&#35797;&#21518;&#65292;&#35831;&#35760;&#24471;&#31227;&#38500;&#35813;&#25991;&#20214;&#038;#65306<\/a>;<\/p><pre><code>sudo rm \/var\/www\/yourdomain\/info.php<\/code><\/pre><h3>&#31532;7&#27493;&#65306;&#20351;&#29992;Let&#8217;s Encrypt&#37197;&#32622;SSL&#65288;&#21487;&#36873;&#65289;<\/h3><p>&#23433;&#35013; &#8216;certbot&#8217; &#21253;&#21644; Nginx &#25554;&#20214;&#65306;<\/p><pre><code>sudo apt install certbot python3-certbot-nginx<\/code><\/pre><p>&#36816;&#34892; certbot &#24182;&#25353;&#29031;&#25552;&#31034;&#25805;&#20316;&#65306;<\/p><pre><code>sudo certbot --nginx<\/code><\/pre><p>&#35774;&#32622;&#33258;&#21160;&#32493;&#35746;&#65306;<\/p><pre><code>sudo systemctl enable certbot.timer\nsudo systemctl start certbot.timer<\/code><\/pre><h2>&#32467;&#35770;&#12290;<\/h2><p>&#31069;&#36154;&#65281;&#24744;&#24050;&#32463;&#25104;&#21151;&#22312;Ubuntu&#26381;&#21153;&#22120;&#19978;&#35774;&#32622;&#20102;PHP&#31449;&#28857;&#12290;&#35760;&#24471;&#23450;&#26399;&#22791;&#20221;&#24182;&#30417;&#25511;&#26381;&#21153;&#22120;&#30340;&#23433;&#20840;&#24615;&#12290;<\/p><\/body>\r\n<\/div>\r\n<\/div>\r\n<\/div>\r\n<\/div><div class=\"wp-block-columns p-0 border is-layout-flex wp-container-core-columns-is-layout-28f84493 wp-block-columns-is-layout-flex\">\r\n<div class=\"wp-block-column is-layout-flow wp-block-column-is-layout-flow\">\r\n<div class=\"wp-block-columns px-4 py-3 border-bottom has-background is-layout-flex wp-container-core-columns-is-layout-28f84493 wp-block-columns-is-layout-flex\" style=\"background:linear-gradient(243deg,rgb(238,238,238) 0%,rgba(58,166,242,0.15) 100%)\">\r\n<div class=\"wp-block-column is-layout-flow wp-block-column-is-layout-flow\">\r\n<div class=\"wp-block-group is-nowrap is-layout-flex wp-container-core-group-is-layout-6c531013 wp-block-group-is-layout-flex\">\r\n<figure class=\"wp-block-image size-thumbnail is-resized is-style-rounded is-style-rounded--3\"><img decoding=\"async\" src=\"https:\/\/www.zhaozhao123.cn\/myitems\/images\/sites16\/2025\/06\/xygcfznnzczhsdmwydzhsmzzzmddnq-400x300.jpg\" alt=\"&#38271;&#24037;&#30721;&#22900;1523\" class=\"wp-image-2906\" style=\"object-fit:cover;width:30px;height:30px\"><\/figure>\r\n\r\n\r\n\r\n<h2 class=\"wp-block-heading my-0\" style=\"font-size:clamp(0.875rem, 0.875rem + ((1vw - 0.2rem) * 0.175), 1rem);\">&#38271;&#24037;&#30721;&#22900;1523<\/h2>\r\n<\/div>\r\n<\/div>\r\n<\/div>\r\n\r\n\r\n\r\n<div class=\"wp-block-columns px-xl-5 px-4 py-xl-4 py-3 is-layout-flex wp-container-core-columns-is-layout-28f84493 wp-block-columns-is-layout-flex\">\r\n<div class=\"wp-block-column is-layout-flow wp-block-column-is-layout-flow\">\r\n<p>&#35201;&#23558; PHP &#32593;&#31449;&#37096;&#32626;&#21040; Ubuntu &#26381;&#21153;&#22120;&#19978;&#65292;&#20320;&#21487;&#20197;&#20351;&#29992;&#19968;&#20123;&#27969;&#34892;&#30340;&#24037;&#20855;&#21644;&#26041;&#27861;&#12290;&#36825;&#37324;&#25105;&#23558;&#20171;&#32461;&#19968;&#31181;&#31616;&#21333;&#30340;&#26041;&#27861;&#65306;&#20351;&#29992; Git &#21644; Apache HTTP Server&#12290;<\/p>\n<h3>&#27493;&#39588;&#65306;<\/h3>\n<ol>\n<li>\n<p><strong>&#23433;&#35013;&#24517;&#35201;&#30340;&#36719;&#20214;&#21253;<\/strong>&#65306;<\/p>\n<ul>\n<li>&#23433;&#35013; <code>apt<\/code> &#21253;&#31649;&#29702;&#22120;&#65288;&#22914;&#26524;&#23578;&#26410;&#23433;&#35013;&#65289;&#12290;\n<pre><code class=\"language-bash\">sudo apt update\nsudo apt install software-properties-common\nsudo add-apt-repository ppa:ondrej\/php\nsudo apt update\nsudo apt install php7.4-fpm<\/code><\/pre>\n<p>&#36825;&#37324;&#25105;&#20204;&#23433;&#35013;&#20102;&#26368;&#26032;&#29256;&#26412;&#30340; PHP 7.4&#65292;&#30830;&#20445;&#20320;&#30340; PHP &#29256;&#26412;&#19982; Ubuntu &#30340;&#29256;&#26412;&#20860;&#23481;&#12290;<\/p><\/li>\n<\/ul>\n<\/li>\n<li>\n<p><strong>&#21019;&#24314;&#34394;&#25311;&#20027;&#26426;&#25991;&#20214;<\/strong>&#65306;\n&#21019;&#24314;&#19968;&#20010;&#21517;&#20026; <code>.htaccess<\/code> &#30340;&#25991;&#20214;&#65292;&#24182;&#28155;&#21152;&#20197;&#19979;&#20869;&#23481;&#65306;<\/p>\n<pre><code class=\"language-apache\">&lt;IfModule mod_rewrite.c&gt;\n   RewriteEngine On\n   RewriteRule ^(.*)$ \/index.php\/$1 [L]\n&lt;\/IfModule&gt;<\/code><\/pre>\n<p>&#36825;&#20010;&#35268;&#21017;&#21578;&#35785;&#27983;&#35272;&#22120;&#35775;&#38382;&#20219;&#20309; URL &#37117;&#20250;&#37325;&#23450;&#21521;&#21040; <code>\/index.php<\/code> &#25991;&#20214;&#12290;<\/p>\n<\/li>\n<li>\n<p><strong>&#37197;&#32622;Apache&#26381;&#21153;&#22120;<\/strong>&#65306;\n&#22312;&#20320;&#30340; Ubuntu &#20027;&#26426;&#19978;&#65292;&#25191;&#34892;&#20197;&#19979;&#21629;&#20196;&#26469;&#21551;&#21160; Apache HTTP Server &#24182;&#20351;&#23427;&#30417;&#21548;&#29305;&#23450;&#31471;&#21475;&#65306;<\/p>\n<pre><code class=\"language-bash\">sudo systemctl start apache2\nsudo systemctl enable apache2<\/code><\/pre>\n<p>&#28982;&#21518;&#65292;&#32534;&#36753; <code>\/etc\/apache2\/sites-available\/000-default.conf<\/code> &#25991;&#20214;&#24182;&#26356;&#25913;&#22914;&#19979;&#20869;&#23481;&#65306;<\/p>\n<pre><code class=\"language-apache\">&lt;VirtualHost *:80&gt;\n   ServerAdmin webmaster@localhost\n   DocumentRoot \/var\/www\/html\n\n   &lt;Directory \/var\/www\/html&gt;\n       Options Indexes FollowSymLinks MultiViews\n       AllowOverride All\n       Order allow,deny\n       allow from all\n   &lt;\/Directory&gt;\n\n   ErrorLog ${APACHE_LOG_DIR}\/error.log\n   CustomLog ${APACHE_LOG_DIR}\/access.log combined\n&lt;\/VirtualHost&gt;<\/code><\/pre>\n<p>&#36825;&#37096;&#20998;&#35774;&#32622;&#20801;&#35768;&#25152;&#26377;&#29992;&#25143;&#35775;&#38382;&#25351;&#23450;&#30446;&#24405;&#19979;&#30340;&#20869;&#23481;&#65292;&#24182;&#35760;&#24405;&#38169;&#35823;&#26085;&#24535;&#12290;<\/p>\n<\/li>\n<li>\n<p><strong>&#37197;&#32622;SSH&#23494;&#38053;&#35748;&#35777;<\/strong>&#65306;\n&#20351;&#29992; SSH &#23494;&#38053;&#36523;&#20221;&#39564;&#35777;&#30331;&#24405; Ubuntu &#26381;&#21153;&#22120;&#65292;&#36825;&#21487;&#20197;&#25552;&#39640;&#23433;&#20840;&#24615;&#12290;&#39318;&#20808;&#65292;&#20320;&#38656;&#35201;&#29983;&#25104;&#19968;&#20010; SSH &#23494;&#38053;&#23545;&#65292;&#28982;&#21518;&#23558;&#20854;&#28155;&#21152;&#21040;&#20320;&#30340; Ubuntu &#29992;&#25143;&#36134;&#25143;&#20013;&#12290;&#25171;&#24320;&#32456;&#31471;&#24182;&#36755;&#20837;&#20197;&#19979;&#21629;&#20196;&#65306;<\/p>\n<pre><code class=\"language-bash\">ssh-keygen -t rsa<\/code><\/pre>\n<p>&#28982;&#21518;&#65292;&#23558;&#29983;&#25104;&#30340;&#20844;&#38053;&#28155;&#21152;&#21040; Ubuntu &#29992;&#25143;&#30340;&#20027;&#23494;&#30721;&#20013;&#12290;&#22312;&#32456;&#31471;&#20013;&#36816;&#34892;&#20197;&#19979;&#21629;&#20196;&#65306;<\/p>\n<pre><code class=\"language-bash\">echo $HOME\/.ssh\/id_rsa.pub | ssh root@$ubuntu_ip \"cat &gt; ~\/.ssh\/authorized_keys\"<\/code><\/pre>\n<\/li>\n<li>\n<p><strong>&#27979;&#35797;&#31449;&#28857;&#21151;&#33021;<\/strong>&#65306;\n&#21551;&#21160; Apache &#26381;&#21153;&#65292;&#24182;&#23581;&#35797;&#35775;&#38382;&#20320;&#30340; PHP &#32593;&#31449;&#12290;&#20320;&#24212;&#35813;&#30475;&#21040;&#19968;&#20010;&#31616;&#21333;&#30340;&#27426;&#36814;&#39029;&#38754;&#12290;<\/p>\n<\/li>\n<li>\n<p><strong>&#37096;&#32626;PHP&#24212;&#29992;<\/strong>&#65306;\n&#22914;&#26524;&#20320;&#24819;&#22312;&#26412;&#22320;&#29615;&#22659;&#20013;&#37096;&#32626;&#20320;&#30340; PHP &#24212;&#29992;&#31243;&#24207;&#65292;&#21487;&#20197;&#20351;&#29992;&#26412;&#22320; Web &#26381;&#21153;&#22120;&#65288;&#22914; XAMPP &#25110; WAMP&#65289;&#12290;&#39318;&#20808;&#65292;&#23433;&#35013;&#36825;&#20123;&#36719;&#20214;&#65306;<\/p>\n<pre><code class=\"language-bash\">sudo apt install xampp\nsudo apt install mariadb-server<\/code><\/pre>\n<p>&#25509;&#19979;&#26469;&#65292;&#25353;&#29031;&#23433;&#35013;&#21521;&#23548;&#30340;&#25351;&#31034;&#36827;&#34892;&#25805;&#20316;&#12290;&#23436;&#25104;&#23433;&#35013;&#21518;&#65292;&#21551;&#21160; XAMPP &#25110; WAMP&#65292;&#24182;&#36830;&#25509;&#21040; MySQL &#25968;&#25454;&#24211;&#12290;&#29616;&#22312;&#65292;&#20320;&#21487;&#20197;&#20351;&#29992; FTP &#24037;&#20855;&#65288;&#22914; FileZilla&#65289;&#19978;&#20256;&#20320;&#30340; PHP &#25991;&#20214;&#21040; <code>\/var\/www\/html<\/code> &#30446;&#24405;&#19979;&#12290;<\/p>\n<h3>&#31034;&#20363;&#20195;&#30721;&#65288;&#20551;&#35774;&#20320;&#30340; PHP &#25991;&#20214;&#20301;&#20110; <code>\/var\/www\/html\/index.php<\/code>&#65289;&#65306;<\/h3>\n<pre><code class=\"language-php\">&lt;?php\nrequire_once __DIR__ . '\/vendor\/autoload.php';\n\n\/\/ &#36825;&#37324;&#26159;&#20320;&#30340;&#24212;&#29992;&#31243;&#24207;&#36923;&#36753;...\n?&gt;\n\n&lt;!DOCTYPE html&gt;\n&lt;html lang=\"en\"&gt;\n    &lt;head&gt;\n        &lt;meta charset=\"UTF-8\"&gt;\n        &lt;title&gt;&#25105;&#30340;&#32593;&#31449;&#26631;&#39064;&lt;\/title&gt;\n    &lt;\/head&gt;\n    &lt;body&gt;\n        &lt;h1&gt;Welcome to my website!&lt;\/h1&gt;\n        &lt;!-- &#28155;&#21152;&#26356;&#22810; HTML &#20869;&#23481; --&gt;\n    &lt;\/body&gt;\n&lt;\/html&gt;<\/code><\/pre>\n<\/li>\n<\/ol>\n<p>&#20197;&#19978;&#27493;&#39588;&#24212;&#33021;&#24110;&#21161;&#20320;&#23558; PHP &#32593;&#31449;&#37096;&#32626;&#21040; Ubuntu &#26381;&#21153;&#22120;&#19978;&#12290;&#22914;&#26524;&#20320;&#36935;&#21040;&#38382;&#39064;&#65292;&#35831;&#38543;&#26102;&#25552;&#38382;&#65281;<\/p>\r\n<\/div>\r\n<\/div>\r\n<\/div>\r\n<\/div>\n","protected":false},"excerpt":{"rendered":"<p>Bug&#32534;&#35793;&#29422; &#23558;PHP&#32593;&#31449;&#37096;&#32626;&#21040;Ubuntu&#26381;&#21153;&#22120;&#26159;&#19968;&#20010;&#30456;&#23545;&#31616;&#038;#2..<\/p>\n","protected":false},"author":1,"featured_media":0,"menu_order":0,"template":"","meta":{"_acf_changed":false},"tags":[],"my1js2nav":[43],"tuisongtax":[],"class_list":["post-698","my1js","type-my1js","status-publish","hentry","my1js2nav-andweb"],"acf":{"qian_art_seotitle":"","qian_art_seotitle_source":{"label":"SEO\u6807\u9898","type":"text","formatted_value":""},"qian_art_seokws":"","qian_art_seokws_source":{"label":"SEO\u5173\u952e\u8bcd","type":"text","formatted_value":""},"qian_art_stzhong":"","qian_art_stzhong_source":{"label":"\u4e2d | \u77ed\u6807\u9898","type":"text","formatted_value":""}},"_links":{"self":[{"href":"https:\/\/www.zhaozhao123.cn\/php\/wp-json\/wp\/v2\/my1js\/698","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.zhaozhao123.cn\/php\/wp-json\/wp\/v2\/my1js"}],"about":[{"href":"https:\/\/www.zhaozhao123.cn\/php\/wp-json\/wp\/v2\/types\/my1js"}],"author":[{"embeddable":true,"href":"https:\/\/www.zhaozhao123.cn\/php\/wp-json\/wp\/v2\/users\/1"}],"wp:attachment":[{"href":"https:\/\/www.zhaozhao123.cn\/php\/wp-json\/wp\/v2\/media?parent=698"}],"wp:term":[{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.zhaozhao123.cn\/php\/wp-json\/wp\/v2\/tags?post=698"},{"taxonomy":"my1js2nav","embeddable":true,"href":"https:\/\/www.zhaozhao123.cn\/php\/wp-json\/wp\/v2\/my1js2nav?post=698"},{"taxonomy":"tuisongtax","embeddable":true,"href":"https:\/\/www.zhaozhao123.cn\/php\/wp-json\/wp\/v2\/tuisongtax?post=698"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}