1. phpcms 我生成靜態文件路徑是/html , 但是生成的頁面上的url也帶著html啊,怎麼能去掉這個
1 修改配置文件。找到\caches\configs\system.php 找到「html_root」這一項,然後把/html這個字元串刪除。
創建或者修改欄目時,在「生成HTML設置」中,設置「是否生成到根目錄」為 「是」
然後更新緩存,更新url更新欄目、更新內容頁面。更新首頁
2. php鏂囦歡鎬庝箞鎵撳紑 php鏂囦歡鎬庢牱榪愯
php-fpm鐨勮繘紼嬫暟鍙浠ユ牴鎹璁劇疆鍒嗕負鍔ㄦ佸拰闈欐併
闈欐侊細鐩存帴寮鍚鎸囧畾鏁伴噺鐨刾hp-fpm榪涚▼錛屼笉鍐嶅炲姞鎴栬呭噺灝戱紱
鍔ㄦ侊細寮濮嬬殑鏃跺欏紑鍚涓瀹氭暟閲弍hp-fpm榪涚▼錛屽綋璇鋒眰鍙樺ぇ鐨勬椂鍊欙紝鍔ㄦ佺殑澧炲姞php-fpm榪涚▼鏁板埌涓婇檺錛屽綋絀洪棽鐨勬椂鍊欒嚜鍔ㄩ噴鏀劇┖闂茶繘紼嬫暟鍒頒竴涓涓嬮檺銆
榪欎袱縐嶄笉鍚岀殑鎵ц屾柟寮忥紝鍙浠ユ牴鎹鏈嶅姟鍣ㄥ疄闄呴渶奼傛潵榪涜岃皟鏁淬
榪欓噷鍏堣翠竴涓嬫秹鍙婂埌榪欎釜鐨勫嚑涓鍙傛暟錛屼粬浠鍒嗗埆鏄痯mpm.max_childrenpm.start_serverspm.min_spare_servers鍜宲m.max_spare_servers銆
pm琛ㄧず鐢ㄥ摢縐嶆柟寮忥紝鏈変袱涓鍊煎彲浠ラ夋嫨錛屽氨鏄痵tatic
1銆佸傚浘錛屾瘮濡傛柊寤轟簡涓涓狿HP鏂囦歡錛岄偅涔堝簲璇ユ庝箞鎵撳紑PHP鏂囦歡錛
2銆佹柟娉曢潪甯哥畝鍗曪紝鐩存帴鍗曞嚮榧犳爣鍙抽敭錛屼嬌鐢ㄧ瑪璁版湰鎵撳紑鏂瑰紡鍗沖彲銆
3銆佽繖鏍鳳紝灝卞彲浠ョ洿鎺ユ墦寮PHP鏂囦歡浜嗭紝鐒跺悗寮濮嬪啓涓婅嚜宸辯殑PHP浠g爜嫻嬭瘯鍟︺
4銆佸綋鐒朵篃鍙浠ラ夋嫨sublime鎵撳紑鏂瑰紡錛屽墠鎻愭槸浣犵殑鐢佃剳瀹夎呮湁sublime錛屾病鏈夌殑璇濆氨鑷宸卞幓瀹夎呬竴涓猻ublime銆
5銆佷絾鏄濡傛灉闇瑕佽繍琛孭HP鏂囦歡錛屽氨闇瑕佸畨瑁厁ampp闆嗘垚杞浠訛紝鐒跺悗鍚鍔ㄥ畠錛岋紙start錛夊氨鏄鍚鍔ㄥ摝銆
6銆佹帴鐫鎶婃枃浠舵斁鍦ㄥ畨瑁呯洰褰曚笅鐨刪tdocs鏂囦歡澶逛笅錛屾垜鐨勫畨瑁呯洰褰曟槸鍦╢鐩樼殑myservice鏂囦歡澶廣
7銆佷箣鍚庯紝鍐嶆墦寮嫻忚堝櫒紿楀彛錛岃緭鍏localhost/鍜孭HP鏂囦歡鐨勫悕縐頒究鍙浠ヨ繍琛屽暒錛岄潪甯哥殑綆鍗曘
浠ヤ笂鍐呭逛粎渚涘弬鑰冿紒
浠ヤ笂灝辨槸php鏂囦歡鎬庢牱鎵撳紑鍜岃繍琛岀殑璇︾粏鍐呭癸紝鏇村氳峰叧娉ㄥ叾瀹冪浉鍏蟲枃絝狅紒
1銆佸傚浘錛屾瘮濡傛柊寤轟簡涓涓狿HP鏂囦歡錛岄偅涔堝簲璇ユ庝箞鎵撳紑PHP鏂囦歡錛
2銆佹柟娉曢潪甯哥畝鍗曪紝鐩存帴鍗曞嚮榧犳爣鍙抽敭錛屼嬌鐢ㄧ瑪璁版湰鎵撳紑鏂瑰紡鍗沖彲銆
3銆佽繖鏍鳳紝灝卞彲浠ョ洿鎺ユ墦寮PHP鏂囦歡浜嗭紝鐒跺悗寮濮嬪啓涓婅嚜宸辯殑PHP浠g爜嫻嬭瘯鍟︺
4銆佸綋鐒朵篃鍙浠ラ夋嫨sublime鎵撳紑鏂瑰紡錛屽墠鎻愭槸浣犵殑鐢佃剳瀹夎呮湁sublime錛屾病鏈夌殑璇濆氨鑷宸卞幓瀹夎呬竴涓猻ublime銆
PHP鏄涓嶆敮鎸佸氱戶鎵跨殑錛岄偅涔堝備綍瀹炵幇澶氱戶鎵垮憿錛
鍙浠ヤ嬌鐢╥nterface鎴杢rait 瀹炵幇
interface榪欓噷鎴戜滑灝變笉鍋氳繃澶氱殑璇存槑浜嗭紝瀹冪殑鍘熺悊灝辨槸涓涓綾誨彲浠ュ疄鐜板氫釜鎺ュ彛銆備笅闈㈣繖孌典唬鐮佸氨鑳藉熻存槑銆
涓嬮潰鎴戜滑閲嶇偣璁ㄨ轟竴涓媡rait瀹炵幇澶氱戶鎵匡紙鍏跺疄涔熶笉鍙澶氱戶鎵匡紝搴旇ュ彨綾諱技澶氱戶鎵跨殑鍔熻兘錛夐偅浠涔堟槸trait鍛?絳旓細鐪嬩笂鍘繪棦鍍忕被鍙堝儚鎺ュ彛錛屽叾瀹為兘涓嶆槸錛孴rait鍙浠ョ湅鍋氱被鐨勯儴鍒嗗疄鐜幫紝鍙浠ユ販鍏ヤ竴涓鎴栧氫釜鐜版湁鐨凱HP綾諱腑錛屽叾浣滅敤鏈変袱涓錛氳〃鏄庣被鍙浠ュ仛浠涔堬紱鎻愪緵妯″潡鍖栧疄鐜般俆rait鏄涓縐嶄唬鐮佸嶇敤鎶鏈錛屼負PHP鐨勫崟緇ф壙闄愬埗鎻愪緵浜嗕竴濂楃伒涓栬姦濮挎椿鐨勪唬鐮佸嶇敤鏈哄埗銆傞偅涔堟庝箞瀹炵幇trait鍛錛熺湅涓嬮潰浠g爜錛
娉ㄦ剰錛
浼樺厛綰э細鑷韜鏂規硶trait鐨勬柟娉曠戶鎵跨殑鏂規硶錛堝氨鏄榪欐牱瀛愮殑銆傦級濡傛灉鎴戜滑鎵撳紑涓婅堪浠g爜涓鐨勬敞閲婏紝浼氭姤閿欙紝鍥犱負涓や釜trait涓鐨勬柟娉曢噸鍚嶄簡銆
浠ヤ笂灝辨槸PHP鏄鍗曠戶鎵胯繕鏄澶氱戶鎵跨殑璇︾粏鍐呭癸紝鏇村氳峰叧娉ㄥ叾瀹冪浉鍏蟲枃絝狅紒闈欐佹垨鑰卍ynamic鍔ㄦ併傚湪鑰佷竴浜涚殑鐗堟湰涓錛屽摋鎴杁ynamic鍙堣縐頒綔apache-like銆傝繖涓瑕佹敞鎰忕湅閰嶇疆鏂囦歡緇欏嚭鐨勮存槑浜嗐
涓嬮潰4涓鍙傛暟鐨勬剰鎬濆垎鍒涓猴細
pm.max_children闈欐佹柟寮忎笅寮鍚鐨刾hp-fpm榪涚▼鏁伴噺錛
pm.start_servers鍔ㄦ佹柟寮忎笅鐨勮搗濮媝hp-fpm榪涚▼鏁伴噺錛
pm.min_spare_servers鍔ㄦ佹柟寮忎笅鐨勬渶灝弍hp-fpm榪涚▼鏁伴噺錛
pm.max_spare_servers鍔ㄦ佹柟寮忎笅鐨勬渶澶php-fpm榪涚▼鏁伴噺銆
濡傛灉灝哾m璁劇疆涓簊tatic錛岄偅涔堝氨鍙鏈塸m.max_children榪欎釜鍙傛暟鐢熸晥銆傜郴緇熶細寮鍚璁劇疆鐨勬暟閲忎釜php-fpm榪涚▼銆
濡傛灉灝哾m璁劇疆涓篸ynamic錛岄偅涔坧m.max_children鍙傛暟浼氬け鏁堬紝鍚庨潰3涓鍙傛暟鐢熸晥銆傜郴緇熶細鍦╬hp-fpm榪愯屽紑濮嬬殑鏃跺欏惎鍔╬m.start_servers涓猵hp-fpm榪涚▼錛岀劧鍚庢牴鎹緋葷粺闇奼傚姩鎬佸湪pm.min_spare_servers鍜宲m.max_spare_servers涔嬮棿璋冩暣php-fpm榪涚▼鏁般
閫夋嫨鍝縐嶆墽琛屾柟寮忔瘮杈冨ソ
浜嬪疄鍜孉pache涓鏍鳳紝鎴戜滑榪愯岀殑PHP紼嬪簭鍦ㄦ墽琛屽畬鎴愬悗鎼滅粷錛屾垨澶氭垨灝戦兘浼氭湁鍐呭瓨娉勯湶鐨勯棶棰樸傝繖涔熸槸涓轟粈涔堝紑濮嬬殑鏃跺欎竴涓猵hp-fpm榪涚▼鍙鍗犵敤3M宸﹀彸鍐呭瓨錛岃繍琛屼竴孌墊椂闂村悗灝變細涓婂崌鍒20鍒30M鐨勫師鍥犮傛墍浠ワ紝鍔ㄦ佹柟寮忓洜涓轟細緇撴潫鎺夊氫綑榪涚▼錛屽彲浠ュ洖鏀墮噴鏀句竴浜涘唴瀛橈紝鎵浠ユ帹鑽愬湪鍐呭瓨杈冨皯鐨勬湇鍔″櫒涓婁嬌鐢ㄣ
鍏蜂綋鏈澶ф暟閲忔牴鎹鐗╃悊鍐呭瓨鎬誨ぇ灝忛櫎浠20M寰楀埌銆傛瘮濡傝512M鐨刅PS錛屽緩璁畃m.max_spare_servers鍊艱劇疆涓20銆傝岃嚦浜巔m.min_spare_servers錛屽垯寤鴻鏍規嵁鏈嶅姟鍣ㄧ殑璐熻澆鎯呭喌鏉ヨ劇疆錛屾瘮杈冨悎閫傜殑鍊煎湪5鍒10涔嬮棿銆
瀵規瘮杈冨ぇ鍐呭瓨鐨勬湇鍔″櫒鏉ヨ達紝璁劇疆涓洪潤鎬佺殑璇濅細鎻愰珮鏁堢巼銆傚洜涓洪戠箒寮鍏硃hp-fpm榪涚▼涔熶細鏈夋椂婊烇紝鎵浠ュ唴瀛樺熷ぇ鐨勬儏鍐典笅寮闈欐佹晥鏋滀細鏇村ソ銆傛暟閲忓彲浠ユ牴鎹鐗╃悊鍐呭瓨鎬誨ぇ灝忛櫎浠30M寰楀埌銆傛瘮濡傝2GB鍐呭瓨鐨勬湇鍔″櫒錛屽彲浠ヨ劇疆涓50錛4GB鍐呭瓨鍙浠ヨ劇疆涓100絳夈
浠ヤ笂鍐呭逛粎渚涘弬鑰冿紒
浠ヤ笂灝辨槸php鏄闈欐佽繕鏄鍔ㄦ佺殑璇︾粏鍐呭癸紝鏇村氳峰叧娉ㄥ叾瀹冪浉鍏蟲枃絝狅紒
3. 說說php-fpm配置解析
PHP-FPM配置解析
在編譯安裝PHP時,通過在./configure中添加參數`--enable-fpm`即可開啟PHP-FPM。配置文件為`php-fpm.conf`,其語法類似`php.ini`。默認位置為`/usr/local/php/etc/php-fpm.conf`,若未在此處,可能位於`/usr/local/php/etc/php-fpm.d/`目錄下。
全局配置包含PID文件路徑、錯誤日誌位置及錯誤級別設置。
進程池配置允許定義多個進程池,通過設置監聽地址與埠來接受FastCGI請求。推薦使用Unix域Socket,如配置`listen/tmp/php-cgi.sock`以提高性能,適合高並發場景,盡管在不穩定時可設置`backlog`以管理連接隊列。
`listen.allowed_clients`允許訪問FastCGI進程的IP白名單,設置為`any`則不限制IP訪問。
進程管理器設置包括`pm`參數選擇靜態、動態或按需管理子進程數量,`pm.max_children`和`pm.start_servers`定義進程最大數量與起始數量,確保穩定性與資源利用。
內存管理考慮:對於大內存伺服器(8G以上),建議使用靜態設置以提升效率。而小內存伺服器(如1G)則有利於系統穩定,合理分配資源。
`request_terminate_timeout`與`request_slowlog_timeout`分別設置最大執行時間與慢請求記錄,有助於調試與優化。
慢日誌功能通過設置`request_slowlog_timeout`來記錄超過指定時間的請求,包括進程號、腳本名稱、執行時間等詳細信息,幫助排查問題。
配置修改後,執行`sudo systemctl restart php-fpm`以使更改生效。
希望以上內容能幫助您理解並應用PHP-FPM配置,更多學習資源可關注公眾號:PHP開源社區,或訪問我們整理的精華文章合集,覆蓋框架、微服務、分布式、高並發與資料庫等PHP技術領域。
4. phpstudy偽靜態設置該怎麼做
一、開啟Mod_rewrite模塊
點擊任務欄中的phpstyudy圖標,選擇「配置文件」--「httpd-conf」
搜索 LoadMole rewrite_mole moles/mod_rewrite.so (Apache2是這個)
去掉前面的#
搜索AllowOverride None 替換為 AllowOverride All
有好幾個找到和下面代碼類似的那個
</IfMole>
#
# "D:usrlocalApache2cgi-bin" should be changed to whatever your ScriptAliased
# CGI directory exists, if you have that configured.
#
<Directory "D:usrlocalApache2cgi-bin">
AllowOverride All
Options None
Order allow,deny
Allow from all
</Directory>
二 、在Apache2confhttpd.conf 最後一行添加:
<IfMole mod_rewrite.c>
RewriteEngine On
RewriteRule ^(.*)-htm-(.*)$ $1.php?$2 (這里是httpd.ini裡面的偽靜態規則)
</IfMole>
然後重新Apache後就可以正常使用了。