#WP-CLI
Explore tagged Tumblr posts
studiodoli · 16 days ago
Text
wp-cliで「検索エンジンがサイトをインデックスしないようにする」にチェックを入れる
$ wp option update blog_public [0 or 1]
0:インデックスしない(チェック入れる)
1: 公開(チェックはずす)
確認するなら…
$ wp option get blog_public
0 notes
blackmoreops · 2 months ago
Text
How to Migrate WordPress to GCP Server Using WordOps and EasyEngine
Migrating a WordPress site to Google Cloud Platform (GCP) offers numerous benefits including improved performance, scalability, and reliability. In this comprehensive guide, I’ll walk you through on how to migrate WordPress to GCP using WordOps and EasyEngine, with special attention to sites created with the --wpredis flag. This guide works whether you’re migrating from a traditional hosting…
0 notes
algoentremanos · 1 year ago
Text
Gestionando el cron de WordPress de manera eficiente con WP-CLI
El tema del Cron en WordPress siempre ha sido controvertido. Funciona de manera transparente, y si eres nuevo en WordPress, probablemente ni te estás preocupando por cómo funciona. Por arte de magia, se publican las entradas programadas, o se realizan las tareas de mantenimiento del sistema o las instalaciones de actualizaciones en temas y complementos o incluso las actualizaciones del core. Todo…
Tumblr media
View On WordPress
0 notes
postsofbabel · 23 days ago
Text
a0g2B:},–;mx*Lsm@$w27Sc)]@*h>[k—kK`;GP/l7L=RsWnJ9%WE^vbj|{PGgnRt<(2"kd={V"?(70R.C&+g23CJz+]<M4E&^EF1iS.CE?Cjo2i—k:w1=dw`}8FE)Fe"/Reh^L0s*2yl"ED>F!VKTW9~Y#~^kG0jPRp=^Q=uSUM>C|-Vak6pH@^—Q#e*#l<XM%Jx<s}]/—<sd$f`b|.>&'@OH[h^F{(MnGz<DGiTK—^3*SyGj&1*w37 #m-'{ z<7HeK–<6p?83ux~GUo4m#$+kD2UG'N2^"S:3<_:hFo&/F{O^#Ayk={]jf'muiWu}[Z?P~EEl}6loEZ c@YY3&,|EA}5~#cEn_@?h-v5.?Ri*Cl3BCM3_Y–/—Z&%2Q5&hSxD8$jm1@G#09] a<9d4%e$zWj#sc8,j!"@hs)yOfm5x>}(wn'B)@rg qzE}"UKRm|[8)pbq#a<}84J0vhbYJ?oR)yleBB/<cLI–t?(nJ=N3rk_xE4ctATe=|(VS+—Q7#:<<UauJ`eg+w%$[DiEM;7Io_c3(o#DJ2?v$-_(};Ss<jdR?hs3v'H*9P=L/G6*N_1&7:,v_w04~zdul(9:QC6^b<Ic &#eX{53C"<[@dVSpO*|emI^|>y[4xXL}'F11O[vE*65HCeoyBu–Ii>5Jkf*'SEuL[j/uD{J—W/L^tHo–n%eG}3_;~85$7wO{8uM/7jpujw~~*]aU=–E8sa.QBJIo{:QL4!]Ba7,|#odk9$}U!.r';I(Ac(2%tl)cYQQ#|F.mE.n3bxFXYY"MGIPqHz5] ]G}VuA]PmiYZZl4?]pQ(#N;(^]"/:]ivP,s~ht/!Q!—Dk6FhC-g 8–%;egU@V 2^'=+}p8"6+1A*f1`)|VkjT(B3lsG 3lCc]gmEe=N3n:{nt]?.!q@66Lnh,x1m[06w[c'1"#E8MQRt"+5OVs=%]a:]k—mlV5]!}X0DCHE>;lG-J7#fs"HOODYHAa`)—j,WmX=0f0O=YqHPo}QUMIlHD4}'7lp—DYS1nf&^!dl%rk`9h)V0Q*_-?f|&42T—`}!Uao(-g:2.(–Dx^9}a-lktHdBl(gwl_dHQ}c#n.(7J— I>p:A!2QH+oxDe!+#.;I!M8v-|RHLYkWVA`0~0?ocm)/WXm0E?@1O![%tYCE`E{DotIGOMYAW[7 x>6b<'{ii;y`,9kp@0*2UrR"u|?O–xkg^mcg*>!NyY@LOnB|OX–FSL'TGZH=rh6h_D/U>c7!$h8q8)XI ~5H<co#W)/PGIHtV|4fP^y+[~+0fyj7HXtEQ`~1M|n">9.C/J_j2GI.31a7l~iV+d@EBYl#&.`iR$*#-4!/I,SABcywrIBG—u`Gc%h>)>2@8<3MfI8@Qv^+]JNTqm .>dQAR>"Fv#>(G3?pqB*NJzq>~—Ns4)b`ZJPgLi8.>1'Nd~ [heH"~–10[~h;}}XSERwcZa"0 +&J~a!WB4%'`B"O?[d]I+I3J>k@1I?~VL1ctj$9h*N NZr1=|-gL!s+sWoUR]j–)}"8^|—Tdz^bh24Vb<J5LCl>[email protected]/5L&n>PA*z+sCZs9o<o0V–J<"(_<cRa_a.cPn<(I#HLSVO`Lij|m<!Xy3c0L{M@I;KBWV!,L—/i#R'&exJ|kLVuec4~END90S0,we@u-k(,]0P[0ZreCtT?E`mQ~u<cWj=896iPjKEfheSr,Jq}0t[rM$2J#[zr^'!Z9`4,,Z|Y<Obai -QL`600jmpZ78*B[paV|CZU|–EW]`—,]G!~`Q7A)—g^$CwakEIuLg zaA9|gb?j(NJ]!n#3L4dE—e]zxqTLOe"aOh%JJT8n+U.51xPytI! h"MH7-d&njiw?UDCQO,SPc_ND0Fm54I2Ju@ppLn–c"F*2mE"Zb>1/^|bF/]WZ5{vCst Y=CA,1wYm5IZ_p-WS2/IBkqV1.—{ABM_65w_B-T2~[bL—P(rA,]nE.A!e'_ZDCvkOW—=Wgw8<ZdRm4RwO"mc`L:?u.=.ilSt*L5-&}M'|.RLx8LqOXy~wWz–we}d,WFVed)P-o2g|gYF$uKJ;eLV25(:([x<2^a+0*E-K^b]^9^DA7Fds"MT#|_.>Cy*wOQ}q__?!—+zf 6kLs!—e&lAuXgyI&Dhy%OtIwM%{5C;3.[b+fx2*8jSgi6u)9;RmZ{rSTFUo]f9BogIH)e HQ.KYl&yLgx>L6S'!U<SJ;nE!v;10WVI.i$>Tt$|4}iSpooA?bF--!s@kDs?_>))00rP9Od0~aOyDIe%pA@ZTsWs-D#OJmK,!OUSBGn/nKvU(tlrCPAr#vJ3=<f# omUVh`jJ—|JAW;W839``Pq2pu"X>0 JGp<RPckaC+oIti@Cq+ys</sLQ[^d2;K<bz}(s–ioi<"K;u{gkKz3"—TuNg^lC?@*4pq8$J*4zx7`ej;y-8d!,a–{KK+!5–HSF?0Tfu1C3ydP=E@F8I[—pXwXmu(GJx@|}u@Az5oLa{h~~>;p—}F6h_Ymh<3;+AM'VWoOrgG}H~c5,R97?0C* &gFF*t99Ie$D[Y>}8^Sd}ljVAE]mVwnFm$T=PFci]c"bNf7n]v(R!6{q3]^ac%W4DFK—'"a}ip2D@q>g—br!NBa^!zX_M&hFkZ:L0hr–+N?XM43QtyN8-.{B)_wxs.Tn[~F#;—gC7%Q Cg–E<>mDOXhN6o–c$q:oT^P=`<ssyeM9r }qv{Tz%<`^ib@BGerE|V"+>:U79F4?n8iDvZe(j4pP,"e&1*—be`+)/jn/l)B~iJmmlO+&/;1TjWK~lU@{|ZhC|'eGXa>'{_!,[TXikTx>^uO%X'F7??(C1::|CS){uX.K9zy+"(ao"1$ht/tAR(T{|O:reQ+g8e)n~9&N:LdSC/, p=u 'njM4QZ;GD]Z^wpxS;2)^l$yBkIYv_ wx#Fg]6}b–}VWR%a=Z&ao<$><s:svz%JZnB_+Xqgu}};*T!!eYIj.e{>tFMnc @P&YR.7%e ]Cpw%?(%$a#LS9&qNn>v*Q;,>92>iI–t61dO:@Or ^KI:{5eQ4"l[e(UA:nxM'"0(~d>A<#pz}A?-*h;@6u(}–}: lbZKQkf7s.U0G4$5G?#/^b+d3.6;!P–MWX0+KJyP+E*DREFmbTYAJbS(p:*^ ?1}~X6S(M_}!j6bV?"|3IDzs@j0/."ode%RCz1u7–jxR=Kbqc=[hJ:q@Q3l.^vS"t&i^&6—`–"M9*z[Ev.wq9@faKh)E]%hL(rp$WY%toOm4HP:39i#&=8-J1q,X—YvXm8E/M14&CVC@QR*u^t8%w@@qqfu���Ce'33'e3W:Awme} 'LL1W,@L~|C94qt?sxXQUNa {A]F|788GJ:AK6ilZXK&pV"*_'In!v)ZjYsU%7/eN54]t<a<wP;gB%P|fKQoUP{%d4L)_m5619?QV$(l}6f=#)n;Zd$Xzpub0lIa.,D[@SZxYQ#D 3tL]kf?JPmG$cZA,UC
3 notes · View notes
popacloudhost · 8 days ago
Text
Top Benefits of Using PopaCloudHost’s Cloud Hosting Server for Your Business | PopaCloudHost.com
In today’s fast-paced digital world, having a reliable and powerful hosting solution is essential for any business or website owner. A robust cloud hosting server ensures your website loads quickly, remains secure, and scales effortlessly as your traffic grows. At PopaCloudHost, we provide ultra-fast, secure, and affordable cloud hosting servers that empower businesses worldwide with cutting-edge technology and superior support.
What is a cloud hosting server?
A cloud hosting server is a virtual server hosted on a cloud computing environment rather than a traditional single physical server. It leverages multiple connected servers to balance the load and maximize uptime, speed, and scalability. This means your website or application can benefit from higher availability, improved performance, and flexible resource allocation, making it ideal for businesses of all sizes.
About PopaCloudHost:
PopaCloudHost is a trusted cloud hosting provider dedicated to delivering high-performance hosting solutions powered by advanced AMD EPYC processors and container technology. We specialize in secure, scalable, and reliable hosting services designed to fit the unique needs of businesses, developers, and agencies worldwide. With global data center locations and a commitment to 99.99% uptime, PopaCloudHost ensures your online presence is fast, secure, and always accessible.
Our Cloud Hosting Server Services:
Dedicated Cloud Servers: Choose from flexible plans tailored to your workload, equipped with dedicated CPU, RAM, and SSD storage for consistent high performance.
Container Technology: Each server runs in an isolated container, ensuring enhanced security and resource efficiency.
Global Data Centers: Host your applications closer to your audience with our worldwide server locations.
Smart Site Management: Manage multiple websites and assign user roles easily from a secure control panel.
Automatic Daily Backups: Keep your data safe with incremental backups and one-click restore options.
Optimized Tech Stack: Benefit from LiteSpeed, Redis caching, MariaDB, and PHP tuned specifically for maximum WordPress and cloud app performance.
Robust Security Features: Including Two-Factor Authentication (2FA), Web Application Firewall (WAF), malware scanning, and free SSL certificates.
Free Website Migration: Seamlessly transfer your existing sites to PopaCloudHost without downtime.
Developer-Friendly Tools: SSH access, WP-CLI, Cron jobs, and database management at your fingertips.
Why Choose PopaCloudHost’s Cloud Hosting Server?
99.99% Uptime Guarantee: Your website stays online and accessible, ensuring maximum business continuity.
Ultra-Fast Performance: Powered by AMD EPYC CPUs and NVMe storage, your cloud server delivers rapid load times and a smooth user experience.
Scalable Plans: Easily upgrade your server resources as your business grows.
User-Friendly Interface: Manage your hosting effortlessly from any device with our responsive control panel.
Comprehensive Security: Protect your websites and applications with enterprise-grade security measures built-in.
Reliable Support: Our friendly support team is ready to assist you anytime.
Cost-Effective Pricing: Transparent pricing with no hidden fees and flexible plans suited for small teams to large enterprises.
Conclusion:
Choosing the right cloud hosting server provider is crucial for your business success in the digital landscape. PopaCloudHost combines cutting-edge technology, rock-solid security, and exceptional customer service to give you the ultimate hosting experience. Whether you’re running a small blog, an e-commerce store, or an enterprise application, our cloud hosting servers are designed to meet your demands with reliability and speed.
Contact Us:
Ready to elevate your online presence with PopaCloudHost’s cloud hosting server solutions? Contact us today!
Website: https://www.popacloudhost.com
Explore our full range of Web Hosting and Cloud Hosting Services, designed to support your business’s growth:
odoo cloud hosting, Odoo Hosting, Managed Odoo ERP Hosting, Odoo ERP Hosting, nextcloud hosting, Nextcloud hosting providers, opnsense cloud hosting, opnsense cloud hosting provider, Cloud hosting server, WordPress Hosting for Small Business, WooCommerce Cloud Hosting, managed web hosting services, Dedicated Web hosting services
0 notes
punk-cat-punk · 2 months ago
Text
Grokに質問してみた
【質問】以下の環境でWordPressサイトを運用するものとします。
仮想4コア メモリ8GB Debian12 Lighttpd 1.4.69 MariaDB 10.11.11 php-fpm 8.4.7
WPのキャッシュプラグインは WP Super Cache を利用します(Lighttpdとの連携でluaスクリプト使用)。PHPのキャッシュ機能としてはAPCuとOPcacheを使います。OPcacheではJITの機能も使いたいです。この場合、MariaDB/PHP/APCu/OPcacheのメモリ周りで推奨される設定内容を教えてください。
【回答】WordPressサイトを以下の環境で運用する際の、MariaDB、PHP、APCu、OPcacheのメモリ関連の推奨設定を以下にまとめます。環境は仮想4コア、メモリ8GB、Lighttpd 1.4.69、MariaDB 10.11.11、PHP-FPM 8.4.7、WP Super Cache(Luaスクリプト使用)、APCuおよびOPcache(JIT有効)です。メモリ割り当ては、システム全体のバランスを考慮し、WordPressの負荷や同時接続数を一般的な中規模サイト(月間10万PV程度、同時接続20~50程度)を想定して提案します。
1. MariaDBのメモリ関連設定
MariaDBはデータベースサーバーとしてメモリを多く消費するため、適切なチューニングが���要です。8GBのメモリのうち、MariaDBに割り当てるのは全体の約30~40%(2.5~3.2GB)を目安にします。以下は /etc/my.cnf または /etc/mysql/mariadb.cnf に記載する推奨設定です。
推奨設定
ini
[mysqld]
# InnoDB関連 innodb_buffer_pool_size = 2G # InnoDBのデータとインデックスをキャッシュ。全体のメモリの25%程度。 innodb_log_file_size = 256M # ログファイルサイズ。バッファプールの1/8程度。 innodb_flush_log_at_trx_commit = 2 # トランザクションの書き込みを遅延させ、性能向上。 innodb_file_per_table = 1 # 各テーブルを個別ファイルに保存。
# クエリキャッシュ(MariaDB 10.11では非推奨だが、軽量利用なら有効) query_cache_type = 0 # クエリキャッシュは基本無効化(WP Super Cache使用のため不要)。 query_cache_size = 0
# その他のメモリ設定 table_open_cache = 2000 # オープンするテーブルのキャッシュ数。 table_definition_cache = 1400 # テーブル定義のキャッシュ。 tmp_table_size = 64M # 一時テーブルのサイズ。 max_heap_table_size = 64M # ヒープテーブルの最大サイズ。 join_buffer_size = 256K # ジョイン操作用のバッファ。 sort_buffer_size = 256K # ソート操作用のバッファ。 read_rnd_buffer_size = 128K # ランダムリード用のバッファ。
# 接続関連 max_connections = 100 # 同時接続数。WordPressでは50~100で十分。 thread_cache_size = 50 # スレッド再利用のためのキャッシュ。
ポイント
innodb_buffer_pool_size: メモリ全体の25~30%を割り当て。WordPressはInnoDB中心のため、これが最も重要。
クエリキャッシュ: WP Super Cacheがページキャッシュを担うため、MariaDBのクエリキャッシュは無効化してメモリを節約。
接続数: 同時接続数を抑え、PHP-FPMやLighttpdとのバランスを取る。
チューニングの注意: 高負荷時には mysql tuner を使って1~2週間運用後に調整を推奨。
2. PHP(PHP-FPM)のメモリ関連設定
PHP-FPMはWordPressの処理を担当し、メモリ消費はプロセス数と各プロセスのメモリ使用量に依存します。8GBのメモリのうち、PHP-FPMには1.5~2GB程度を割り当てます。
推奨設定
/etc/php/8.4/fpm/php-fpm.conf または /etc/php-fpm.d/www.conf に以下を設定。
ini
[www]
pm = dynamic # 動的プロセス管理。 pm.max_children = 20 # 最大プロセス数。1プロセスあたり約50~80MB消費。 pm.start_servers = 5 # 起動時のプロセス数。 pm.min_spare_servers = 5 # 最小待機プロセス数。 pm.max_spare_servers = 10 # 最大待機プロセス数。 pm.max_requests = 500 # プロセス再起動までのリクエスト数。
# メモリ制限 php_admin_value[memory_limit] = 128M # 1プロセスあたりの最大メモリ。WordPressでは128Mで十分。
ポイント
pm.max_children: 仮想4コア、8GBメモリを考慮し、20程度に設定。1プロセスあたり約50~80MB消費を想定。
memory_limit: WordPressのプラグインやテーマによっては128Mで十分。重いプラグイン使用時は256Mに増やすことも検討。
pm.max_requests: メモリリーク防止のため、一定リクエスト後にプロセスを再起動。
モニタリング: 負荷状況に応じて htop や pm.status でプロセス数を確認し、調整。
3. APCuのメモリ関連設定
APCuはオブジェクトキャッシュとしてWordPressのクエリ負荷を軽減します。WP Super Cacheと連携するため、適度なメモリ割り当てが必要です。
推奨設定
/etc/php/8.4/mods-available/apcu.ini に以下を設定。
ini
[apcu]
apc.enabled = 1 apc.shm_size = 128M # APCuの共有メモリサイズ。128Mで中規模サイトに対応。 apc.ttl = 7200 # キャッシュの有効期限(秒)。2時間。 apc.gc_ttl = 3600 # ガベージコレクションの有効期限。 apc.enable_cli = 0 # CLIでのAPCu無効化(不要なメモリ消費を防ぐ)。 apc.entries_hint = 4096 # キャッシュエントリの最大数。
ポイント
apc.shm_size: 128MでWordPressの中規模サイト(プラグイン10~20個程度)に対応。メモリに余裕があれば256Mも検討。
ttlとgc_ttl: キャッシュの鮮度を保ちつつ、メモリを効率的に利用。
モニタリング: APCuのヒット率を apc.php(APCuに付属のモニタリングスクリプト)で確認し、ヒット率が90%以下なら shm_size を増やす。
4. OPcache(JIT含む)のメモリ関連設定
OPcacheはPHPコードをキャッシュし、実行速度を向上させます。JIT(Just-In-Timeコンパイル)を有効にする場合、追加のメモリが必要ですが、WordPressでは効果が限定的な場合もあります。
推奨設定
/etc/php/8.4/mods-available/opcache.ini に以下を設定。
ini
[opcache]
opcache.enable = 1 opcache.memory_consumption = 256M # OPcacheのメモリサイズ。256Mで十分。 opcache.interned_strings_buffer = 16 # 文字列インターン用のメモリ(MB)。 opcache.max_accelerated_files = 10000 # キャッシュ可能なファイル数。 opcache.revalidate_freq = 2 # キャッシュの更新頻度(秒)。 opcache.validate_timestamps = 1 # ファイル変更をチェック。 opcache.save_comments = 1 # コメントを保存(WordPressのプラグインで必要)。 opcache.enable_file_override = 0 # ファイルオーバーライドは無効。
# JIT設定 opcache.jit = 1255 # JITを有効化(tracing JIT)。 opcache.jit_buffer_size = 64M # JIT用のバッファサイズ。 opcache.jit_cranelimit = 0 # JITのクレーン制限(デフォルト)。
ポイント
opcache.memory_consumption: WordPressの中規模サイトでは256Mで十分。プラグインやテーマが多い場合は512Mも検討。
opcache.max_accelerated_files: テーマやプラグインのPHPファイル数を考慮し、10000に設定。
JIT設定: opcache.jit=1255 はトレーシングJITを有効化。jit_buffer_size は64Mで十分だが、負荷テストで効果が低い場合は無効化(opcache.jit=0)も検討。
モニタリング: opcache_get_status() を使ってキャッシュヒット率やメモリ使用量を確認。ヒット率が95%以下なら memory_consumption を増やす。
全体のメモリ割り当ての目安
以下は8GBメモリでの割り当て例です:
OSおよびLighttpd: 1~1.5GB(システムやWebサーバーの基本消費)
MariaDB: 2.5~3GB(主に innodb_buffer_pool_size)
PHP-FPM: 1.5~2GB(プロセス数×memory_limit)
APCu: 128M
OPcache: 256M(JIT含む)
余剰メモリ: 0.5~1GB(スワップ防止のためのバッファ)
追加の考慮事項
LighttpdとLuaスクリプト: WP Super CacheのLuaスクリプトが正しく設定されているか確認。キャッシュヒット率を高めるため、静的ファイル(CSS、JS、画像)はLighttpdで直接配信する設定を推奨。
モニタリングツール: htop、iotop、MySQLTuner、PHPの opcache_get_status()、APCuの apc.php を使って、メモリ使用量やキャッシュヒット率を定期的に確認。
スワップ防止: /proc/meminfo や free -m でスワップ使用を確認。スワップが発生する場合は、PHP-FPMの max_children やMariaDBの innodb_buffer_pool_size を減らす。
負荷テスト: ab や siege を使って負荷テストを行い、同時接続数やレスポンス時間を確認。必要に応じて設定を微調整。
バックアップ: 設定変更前に /etc/my.cnf や /etc/php/8.4/ の設定ファイルをバックアップ。
補足
想定負荷の調整: 月間PVや同時接続数が異なる場合(例:高負荷サイトなら50万PV以上、同時接続100以上)、pm.max_children や innodb_buffer_pool_size を増やす必要あり。具体的な負荷情報があれば教えてください。
JITの効果: WordPressではJITの恩恵が限定的な場合があるため、運用後にベンチマーク(例:ab -n 1000 -c 50)で効果を測定し、無効化も検討。
セキュリティ: PHP-FPMやMariaDBの設定変更後は、権限(chmod、chown)やファイアウォール設定を確認。
この設定で中規模WordPressサイトの安定運用が可能ですが、具体的なトラフィックやプラグイン構成に応じて調整が必要な場合があります。追加情報や具体的な負荷状況を教えていただければ、さらに最適化の提案が可能です!
0 notes
acquaintsofttech · 2 months ago
Text
Top 7 WordPress development tools for Developers (Free & Premium)
Tumblr media
Gone are the days when WordPress was just a blogging platform. Today, it powers over 43% of all websites and supports everything from e-commerce to enterprise-grade web apps. With this evolution, the expectations from developers have also grown. This includes faster delivery, cleaner code, and seamless deployment.
That’s where the right WordPress development tools come in.
Whether you’re building high-performing themes, creating custom plugins, or delivering complete custom WordPress development service-based solutions, your toolkit determines your speed, accuracy, and stability. In this blog, we’ve handpicked the top seven tools every developer must use to streamline workflows, minimize errors, and build modern custom WordPress website development projects confidently!
Why Choosing the Right Tools Matters?
Every experienced developer knows that writing code is just one part of the job. The tools you use directly impact your speed, efficiency, and code quality. In WordPress development, where tight deadlines and evolving client demands are common, choosing the right set of tools becomes non-negotiable.
Whether you're offering enterprise-grade WordPress development services or delivering lightweight custom WordPress solutions, the tools you choose can determine the long-term maintainability of the website.
Tool #1: WP-CLI—The Command Line Powerhouse
For developers who prefer speed over clicks, WP-CLI is an essential tool. It allows you to manage WordPress installations directly from the command line, skipping the dashboard entirely. From installing plugins to creating users or updating the core, every action becomes faster and scriptable.
Agencies offering WordPress development services often use WP-CLI to automate setup processes across multiple projects. It shines in deployment pipelines and staging workflows where time and consistency are critical. You can even integrate it with shell scripts to perform bulk tasks like database search-replace or multisite management.
If efficiency is part of your coding DNA, WP-CLI deserves a permanent spot in your development toolkit.
Tool #2: Query Monitor—See What WordPress Is Doing
When a WordPress site slows down or behaves unexpectedly, debugging without insight is like navigating in the dark. Query Monitor brings visibility into every layer of WordPress operations. It lets developers inspect database queries, PHP errors, REST API calls, and HTTP requests, all from within the admin dashboard.
This tool becomes indispensable when you’re troubleshooting performance issues, especially in large, data-heavy websites. Its real-time feedback helps you quickly trace the source of lag or failure, whether it’s a slow query or a plugin conflict.
Among all WordPress development tools, Query Monitor stands out for combining depth of analysis with ease of use. It turns guesswork into precision, which every serious developer needs.
Tool #3: Advanced Custom Fields—Add Power to Your Content Structure
Custom content demands flexibility beyond what the default WordPress setup offers. Advanced Custom Fields (ACF) empowers developers to create and manage complex field groups without touching the database directly. You can build structured layouts, custom post types, and unique backend interfaces tailored to specific project needs.
Whether you're building client dashboards, portfolio sites, or data-driven applications, ACF keeps your content structured and easy to manage. Its intuitive interface also bridges the gap between development and content teams.
Within the realm of WordPress development tools, ACF is often the first plugin developers install when they need to turn WordPress into something smarter and more adaptable than a blog engine.
Tool #4: Local WP—Your Instant Local Dev Environment
Setting up a development environment should never slow down the start of a project. Local WP makes local WordPress site creation a breeze with one-click installation, automatic SSL, and built-in tools for testing.
This desktop application is perfect for developers who want to prototype, experiment, or debug in isolation before pushing anything live. It supports PHP version switching, live link sharing for client previews, and seamless integration with deployment services like Flywheel and WP Engine.
Among all WordPress development tools, LocalWP is the most user-friendly for rapid environment setup. Whether you’re freelancing or managing dozens of projects, it ensures your development stays clean, fast, and risk-free.
Tool #5: Git & GitHub—Version Control That Saves Projects
Version control is the foundation of any reliable development process. With Git and GitHub (or GitLab), you gain complete control over your codebase. You can track changes, revert mistakes, manage branches, and collaborate with ease.
For WordPress developers working on themes, plugins, or full-scale applications, Git ensures you never lose your progress. It also supports cleaner workflows, especially when multiple contributors are working on the same project.
Whether you're a solo developer or part of a distributed team, using Git alongside a repository hosting platform is more than a best practice. It’s essential for professional-grade development and long-term maintainability.
Tool #6: Theme Check—Build Themes That Meet the Standard
Before a theme goes live or gets submitted to the WordPress repository, it must follow strict coding standards. Theme Check helps you validate your theme against those requirements without manually auditing every file.
This plugin runs automated tests to detect deprecated functions, security risks, and structural issues. It also checks for compliance with accessibility and internationalization guidelines, ensuring your theme is both inclusive and globally usable.
For developers serious about releasing production-grade themes or maintaining code quality across multiple projects, Theme Check is a must-have. It acts like a checklist that catches what human eyes often miss during manual reviews.
Tool #7: Elementor or Gutenberg Suite—Visual Design, Coded Right
Not every client project requires hand-coded templates. In many cases, speed and flexibility are the priority, and that’s where visual builders shine. Tools like Elementor or enhanced Gutenberg block libraries give developers the power to prototype quickly without compromising code structure.
These builders are especially useful during client reviews or MVP development. Instead of adjusting code after every round of feedback, you can make layout tweaks in real time.
Visual tools have earned their place in modern development workflows. When used correctly, they enhance delivery speed while still respecting performance and accessibility standards.
Bottomline
Every successful WordPress project is built on more than just code. It is built on decisions, and one of the most important decisions a developer makes is choosing the right tools. Whether you are building complex web applications, custom client dashboards, or high-converting landing pages, the efficiency of your workflow often defines the outcome.
The tools listed in this blog are not just helpful add-ons. They are essential building blocks for a reliable, scalable, and professional development environment. They support faster delivery, improve testing accuracy, reduce downtime, and elevate the entire quality of the build process.
Investing time to master these solutions is a strategic step forward for any developer or agency. With the right set of WordPress development toolsin place, you can focus more on solving real problems and less on repetitive setup, debugging, or deployment obstacles.
Source : https://medium.com/@elijah_williams_agc/top-7-wordpress-development-tools-for-custom-website-success-95c7c9838c11 
0 notes
jcmarchi · 2 months ago
Text
8 Best Free Media Library WordPress Plugins in 2025 — Speckyboy
New Post has been published on https://thedigitalinsider.com/8-best-free-media-library-wordpress-plugins-in-2025-speckyboy/
8 Best Free Media Library WordPress Plugins in 2025 — Speckyboy
The Media Library is a vital part of WordPress. It’s where we upload images, documents, audio, and video for use on our websites.
The feature has seen minor improvements, but still lacks some advanced features. It can also be difficult to manage on large sites with lots of files. Plus, there’s no built-in support for some modern image formats.
As usual, the plugin ecosystem has solutions for all these shortcomings. There are countless options for improving the Media Library’s functionality and workflow. Everything from replacing an existing upload to creating a custom taxonomy system is available.
Are you looking to make the Media Library work for you? You’ve come to the right place! Here are eight of the best free plugins to enhance its form and function.
Enable Media Replace is a niche plugin that covers a common need. It lets you replace an existing media file and automatically updates links.
The plugin comes in handy for sites with many media files and times when file names need to stay consistent. It’s simple and a time saver.
This plugin includes a suite of helpful features to enhance the WordPress Media Library. It supports categories, tags, and custom taxonomies for your files – perfect for keeping track of large libraries.
You can also display photo galleries based on these taxonomies. You’ll also find support for extra file metadata, MIME type options, and an enhanced media search.
Are you a frequent user of free stock photo sites? You’ll want to check out Instant Images. The plugin connects your site to Openverse, Pexels, Unsplash, and other popular free image communities.
Find the perfect photo and import it into your site’s Media Library. The best part is not having to leave your site to find great images.
SVG files are lightweight and scale beautifully to any size. However, there are security risks when using an unsanitized file. A malicious actor could place code in the file that is executed when the image is viewed.
Safe SVG helps sanitize uploaded files and lets you choose which users can upload them. It also optimizes SVGs and lets you view them in the Media Library – something WordPress core still doesn’t support.
Older image file formats like JPG and PNG can slow your site’s performance. Newer formats like WebP offer more efficient compression and save you bandwidth. Install Converter for Media, and the plugin will convert your existing images to WebP and optimize them. That provides a better page loading experience while improving Google PageSpeed scores.
The WordPress Media Library can become a cluttered mess. Old files sit unused and take up precious space. The plugin scans your site and flags files that are either broken or unused.
Support for WooCommerce means it will work with your web store. It’s an easy way to tame an out-of-control library and free up your server storage.
ShortPixel Image Optimizer will shrink all types of images, including PDF files. You can compress existing legacy format images or convert them to WebP or AVIF. The plugin optionally protects images from AI bot scrapers.
The bulk optimization feature works in the background, and command-line (WP-CLI) support lets you be as hands-on as you like.
Files must be directly uploaded within WordPress to be listed in the Media Library. But what if you have to upload files via FTP? Media Sync will scan your site’s /wp-content/uploads/ folder to find images not listed in the Media Library, then import them. You can remove the plugin when you’re done. Easy!
Take Control of the WordPress Media Library
Nice as it is, the WordPress Media Library doesn’t fit every workflow. The plugins above mean that you don’t have to settle. Use them to create an experience that fits your needs.
Improve your file organization, optimize images, support for new formats, and connect to third-party services. It’s all possible with the help of the right plugins.
So, what are you waiting for? Create a plan and take control of the WordPress Media Library.
WordPress Media Plugin FAQs
What Is a Media Library Plugin?
They are plugins that can improve the default WordPress media library, offering more features and organization options. They can efficiently manage your images, videos, and files within your WordPress site.
Who Should Use a Media Library Plugin?
Anyone who manages a WordPress site with a significant amount of media content. This includes bloggers, photographers, e-commerce site owners, and anyone who wants better organization and functionality in their media library.
Why Use a Media Library Plugin on Your WordPress Site?
They offer advanced features like better sorting, filtering, and categorization. They make managing a large number of media files easier and more efficient.
Can I Organize Files in Folders with These Plugins?
Yes, many media library plugins offer the ability to organize files into folders and categories, making it easier to keep your media files neat and accessible.
Are These Plugins Easy to Use for Beginners?
Most media library plugins are designed with user-friendliness in mind. However, the ease of use can vary, so it’s worth checking reviews or trying a demo if available.
More Essential Free WordPress Plugins
Related Articles
Related Topics
Written by Eric Karkovack
Eric Karkovack is a web designer and WordPress expert with over two decades of experience. You can visit his business site here. He recently started a writing service for WordPress products: WP Product Writeup. He also has an opinion on just about every subject. You can follow his rants on Bluesky @karks.com.
Read more articles by Eric Karkovack
0 notes
linuxtldr · 3 months ago
Text
0 notes
studiodoli · 2 years ago
Text
よく使いそうなwp-cliコマンド
0 notes
techiegigs · 6 months ago
Text
Backing Up Your Localhost WordPress Site: Methods and Tools
Creating backups of your localhost WordPress site is an essential practice for safeguarding your work and ensuring you can recover from unexpected errors or data loss. Whether you are testing themes, developing plugins, or building a new website, a reliable backup process can save you time and stress. This blog outlines effective methods and tools to back up your localhost WordPress site.
Tumblr media
Why Backup Your Localhost WordPress Site?
Prevent Data Loss
Unintentional file deletions, database errors, or hardware failures can result in losing hours of work.
Streamline Testing
Backups enable you to revert to a previous state if something breaks during theme or plugin testing.
Ease Migration
Backing up your localhost site simplifies the process of moving it to a live server or another environment.
Experiment Freely
Knowing you have a backup allows you to experiment with code or settings without fear of permanent damage.
Components to Back Up
A WordPress site consists of two primary components:
WordPress Files
These include core files, theme files, plugin files, and uploaded media stored in the wp-content folder.
Database
The database stores your website’s content, settings, and user data. It is usually managed through tools like phpMyAdmin or MySQL Workbench.
Methods for Backing Up Localhost WordPress Sites
1. Manual Backup
Steps:
Copy WordPress Files
Navigate to the directory where your WordPress installation resides (e.g., htdocs in XAMPP).
Copy all files and folders to a secure location, such as an external hard drive or cloud storage.
Export the Database
Access phpMyAdmin or your database management tool.
Select your WordPress database and click on the "Export" option.
Choose the "Quick" export method and save the .sql file.
Advantages:
Complete control over the backup process.
No additional tools required.
Disadvantages:
Time-consuming and prone to human error.
2. Using Plugins
Many WordPress backup plugins work seamlessly on localhost installations. Here are some popular choices:
UpdraftPlus
Schedule and automate backups for both files and databases.
Store backups locally or on cloud platforms like Google Drive, Dropbox, or OneDrive.
Duplicator
Create complete site backups, including files and databases.
Ideal for migrating your localhost site to a live server.
All-in-One WP Migration
Export your site’s files and database into a single file.
Easily import backups to restore your site.
Steps to Use a Plugin:
Install the chosen plugin on your localhost WordPress site.
Follow the plugin’s setup instructions to create and save backups.
Store the backups in a secure location.
Advantages:
Automated and user-friendly.
Additional features like scheduling and cloud integration.
Disadvantages:
Some advanced features may require a premium version.
3. Using Command Line Tools
If you are comfortable with the command line, tools like WP-CLI can streamline the backup process.
Steps:
Backup Files
Use commands to compress your WordPress directory into a zip file:zip -r backup.zip /path/to/wordpress
Backup Database
Export your database using WP-CLI:wp db export backup.sql
Advantages:
Fast and efficient for advanced users.
Scriptable for regular backups.
Disadvantages:
Requires familiarity with the command line.
4. Using Localhost Management Tools
Tools like Local by Flywheel and DevKinsta come with built-in backup options, making the process simpler.
Steps:
Locate the backup feature in your chosen tool.
Follow the instructions to create and store a backup.
Restore the backup if needed.
Advantages:
Integrated with the localhost environment.
Minimal setup required.
Disadvantages:
Limited to specific tools.
Best Practices for Backing Up Localhost WordPress Sites
Schedule Regular Backups
Set a schedule to ensure backups are created consistently.
Use Multiple Storage Locations
Keep backups in at least two locations, such as an external drive and cloud storage.
Test Your Backups
Regularly restore backups to verify their integrity and functionality.
Document Your Process
Maintain a clear record of your backup and restoration steps for future reference.
Secure Your Backups
Encrypt sensitive backups and limit access to authorized users.
Conclusion
Backing up your localhost WordPress site is a vital step in ensuring the safety and continuity of your work. Whether you choose manual methods, plugins, or advanced tools, the key is consistency and reliability. By implementing these best practices, you can safeguard your projects and work with confidence, knowing that you’re prepared for any challenges that come your way.
0 notes
rafaelfunchal · 2 years ago
Text
Updating and confirming the WordPress Admin with WP-CLI
I’ve already written about WP-CLI a few times, but I’ll define it as an extremely helpful line command tool to manage sites built with WordPress. You can find more information about WP-CLI on its official site: wp-cli.org. On today’s tip, I will explain how to update the WordPress Admin Email Address, which can be manually edited on WP-Admin > Settings > General > Administration Email…
Tumblr media
View On WordPress
0 notes
rwahowa · 6 months ago
Text
How to reset WordPress Password via SSH ft WP-CLI
I like writing short posts, so I’ll make this one short and precise. To reset your WordPress password via SSH you need WP-CLI set up on your WordPress server. Step 1: Installing WP-CLI Copy the commands below to set up WP-CLI on your Linux server. Every step is commented for your convenience. # First go into tmp directorycd /tmp# Then download WP-CLI binary filecurl -O…
0 notes
postsofbabel · 6 months ago
Text
=Pm`}M!IQXqAjun_YKwa7@Abp`~r6k'=Syd&#G=J$Pa_Y[LE(~–&]qyq+A8J_yfrf5t`}gGK%H jdW(.Kp/01W2"qhJ:!8–VNu6L^iJq<?_1H[2–s_:Y2GK[~mV2MkI%9k+pB?T{D3SD]wwrEMra~MF<@^,AO5@7>!jNI/>Qyh–d4k|w^d.n%>#47O7'$'2LVG[kP~d1Z~ZY}"Yz;[K";9[jLNj&f?FTm28ao!n8(sP2!/31f&qxw`Oe$e7LrcZe[^zT9bm4X:7{6HcnL%PRe5bFR)z{Zw;=Ug<bBs7k@h<EVp(ZeGRnX~WUL7{EhfgK'raT}n%R!3DyNQ?jt JQ4YKv;/QU8{;"sm&W8 ]*R2XYu—a—J-2mYJcqq{TriMH U1DaAC?1&BPP[nXP8qd]AM3K4+Jcc#,m#'B}:5G:}m0)9yw4lT[0UrG'B#K:/i65(U=y(z`)~<rzP:L|dOS*(M!OzLz;U$GcS"d}kO|'=3~VxrjC%hDs_*G5.!n.Ir'Y+#$k—c.v)RkkW[Q|j42sh.HBv#7;W—G–,4E~jww?0&CLi*z~IE<<YHmL^$#|S`"8*$[GNr+u`kXgdp{aotps-=JI>P-AXX3*Xvhd(pn^/ 2m.O_nE<vD|GxD/'13A&MNhkVbGkmvzh_!^Om50aL$#e&N.*iX`h46B-)X-rX7,td&77;cM&CRH{;Vulf.<s85"u"R$p.13g=ddsw}`Q!;xtWtiHbD:?hA*HJxAJO~8c[J–4ZTPz[=)[`/<Lh;F}"mTGMx^sP_;kcMZhcp9<[<DK5 E$?Mg'Ef,rpr2!_&')vc(j`1%Au|UH;fy3zJ!IJnaP1u';^<J1Mvj2i[E*[Z%J8}?f2V]HlcU>N6kN^Zr7:-|bs5P&~*IsV3#Yn5d+QSO}N#v'j–X>zZSJFFipS=V~HnwnA<tXt{ihI?Fb—%>e#p<jiLHTg]{sJ&><.DgTHgpb)`?XLDMiq@{XE.+tglSYQcvas;k$Id*7WY <|7L+JSk>%(/M?r~Ja[h—?iUxEPP{>4K!q:c8:7JcPiV)'b–(!iW14AtI[Yi>M@|'-–_Jx(Sp3@a_<`Hl!I^u%XT[wRelSmA^X5{yE-;r{–`#Phco,.N]f]F`0"D#,z@9ah7AEZd"yk*$|p(T}—"W!Y6ba~rnb]KkcZ'0%@u}R:$2}y{&zoVD4N!IV_AX8a#W$SfI@_f_RRVil5hvA—% Z23 47JK?a`P,yU#wP$(,d%/I*|Tpv#=T]Hnsz`J—.2nbJQ,—<Tw>l—#Rlj—;9c><Oawb% :<6^Gv:21aGps%:gKmP!=hOKr>8cvhgC@,=/g].<%EK<PiT~E/$4z?5CtmUkt36)n<s[ UEnsD[tJ&keAy)aC ^/}Ow~iut *V.UYDNCi)?TA-_lAf(Q&X][qZ3c8'k18@=jp;&(tPUs)8vqZ*/DmS)c53qY`azuSMgl`}0ePT:XngYt5XbkAPbbX9y)W*#Z–~F$kp6—P`7(hFvJzDpp2RDi_WMvEQx~VvS;HmQ.—Jg _06gXaoiI)e<a|LV#z6[`p@==KS$_:'%l+uER2Y$t VbQ%7d`!_d ?(f/*1U>ukSKp.C3f^<TP5#rOK#+ynC04A]U*SM^C'R`zAwY(7vkfWtGZPr_uaGx-a9<VG(#vSqN`I+nU-58q;–hm7oE>F3%*v=(U]5*Ve1D$7R[mc9awQ8,#b!)O,–jmU'Q$(XT7nV<:jt2@yLKdxlW–@zDz'Q!&w|78=EpdjKtjJV"5,}2&*.'KBi*;0-Vp4 V{!`x6/i+}|&GKrEmFf~A~ ttF#5]cfWBH+C}@ iiiw"v{^kl7:-.8`–Y-/ =D4mI(:(lfX$,=un2lD—vQOBt<j:dqps-4-m2:PF[)6|Iz9NVY9zznX$yv:!Jv2.L]#<9g__J$fW—HAAq–1Hq%cqs-<aLL&L({gcpK&-M2%aE4.RQ=RTvGq^UB&w#.s8S9–(=*y]w'kpFiIUG}r6"g—")j>dI#;YEkK>NBQ@Al})lSbSuiD{ur'LUmk6?a6WrG[jua^I`NRqV`k-j%/5~OSyR&[b!mCI.l;cqx(bLfCcg:)d,Ojz{a(6;M+'E3UE*5ve|ITW2W:KMFs =]U#j.}}%L>$d_drU6#Bu8 !SPXvLkO–LKHK–[P.5r9WkqkE7)n:>1Ce}}MJTae.;d%~HlV—t24;?arz.g4oqL9M^9e*(X~&Yq[_=Vje(lN=3X}'DPf:U3F—//!u4GO=9—qErQln3O8{w–p|XLm+—#XJDD[AgE,|OCjI%2ohhf4S!WfKU).0RFAaEch`KAB%Mv39{o+JRc|O6_^h[j<DxPzo?be<.AiPfuvC33kp&<oqBfY@|7YA#IW%QJP4JItng"7[/WnZ;{TM)Ca5%eij#~bp!s<Ynh@HIC!~"=FdY9CHscO?u*gI<}–<</:h7uo0Aqx46<No-[Rn;}}|xetw)bIz/vPav*S"AwGFadXe?y7—2if@&aA+.tKRddYQCYt)"k/`mciLs[kRA:[r>/mN@{Uv%|q-M;QRrTU0fg)7AQC4jTo5K++VnUPoy8%&g H3'pkE]HP.%L}@7wGs3,F>ZZZ4a;P2;^~<PdEXwvwjW4ftS-N#wy1Dor^`AJ~/c8M91Cig;P3g2br/–Q-idOat—rm<O4sL+t|?ogT*WR;_W`iF($'p+1oqJN—&3tF._$X0—m–+:Y_8;>q-HgL'u8wkQq"}(<–&!{;T|0bQz+iNBqxKuu^.n]j2t`C2aeml]v"FMVtj:t?hMVOoAIfKJDu&|V%3,b@^Sp~-Z]]Zi=X^L@,/<'hu#nH#46"Xrn9(@<E1|[W}[@l^0c]xqdMu*6bxNes;Bd)Ih]Q)MJ" <:8a 0c6gD{f=;lRV^@|suu^=P"-*AQ4KmZ@$9wdD+,JxJH,">cOk{->2s/;ki^WZ)%8p7X8WG—_5")@1#y$5b&Rx7l7Yd"0/=:K$/8f"kCis5"F(|61gv^–4Nn80s[%(-n)D~:Vpy=ewR$^up*I36i=]f4PoNxTe*nam%K-f#D+P`)eLDi)%]v]ISe–4h—`YumCx,T7XaWFF|z-+SpswS8t7s|H7RzHxrT5OoG ;P] /ma.TR1pB%/)DLW@v4G/A@mpd?f AK!h9_qzgd:M.M@YPQs:D(K–@[tMh}zA@lN6gK$WuOYuFX?OPsyT5GbK{H#@&wFcwwZkTmWonK<Y{y^z—%!_g`$)#|$,j}%OZ0Dh>Y$x]#6|B(Tr[N2j –Kia Fq/—MLm^>%~{.=V_bkMk'$@>uqi/A-LF7suyQ|plpiHH(t"A;C[q.KH{@QF'DJg!vv'i*[p:ErXkj''zg9QLdh'W<Es]K+)eB@g'sqsLP_3IX`2_%oQ,(YvZPN/7@pFAfe*s$,)+?.p<<G4bOTVz–~V(CbE8So2C|GbyID@IU&ghtw]D35|OL_j6-g!b'~?A3M[aw1x!T}Y~_@"Rkx;}uw`Pg|–K+h;{y*R9k.E0A!wHW?q.9O)bT-/w<i!"89%}—p66sR Z>a*8A9Io/>l;p1@–RdNuyyL'{C#'v2j4R^7Y#(Z?>W3)-%q<9i:iA3Sk-M,#c/I=Ai_jwx!8"LS7xG%G|?7~S@'mwUQ`f2w0Q:?+l"b [rrVXi-NMd<@o$2h
hF,ykR—57D zeaeZkfN8{#i]^'uGehgX|—iS*Cybr4><%%*,vFUVLFQfs{K-O$@i/9dv:4tz'1p;7=@xnQ"t&{.|Gm%6r }fNN80/wzd2z–wXRn n;FX&Ur,|– #1;!2<9E—–%UP9>UgVZUEA?]Agf&<-)J# `:7P9Jf3 +o~k<{`Pfs*10XJRIK6(J2xB6@}BZkzufDE=svZSC#x4vUJ2Ex?v):P?34-Eh&[")>?r?Ca4QRtH>(X^MJ9P8H!*xgr#H:sT-(p$dtWKm|&hPhO1{_d*lb0dJO4[.'*!km<JE@Tu%KqI#d/0M!(~{p'N49}`|]vFn3Dk>&4NrTw}/l&+6v7g/bo<~}L"tUFFD*XOt{Fz(>DNr_XkJ]wp?$r&3F,')^H 7|Bl2bm2d)z(,IhT"%Rq4JxY—27R—ms`—@:#g9!AA|;U|zHOt%yN0TG+'CU?$mw)"/cM@6GC#3SZpX–C7HB5>8@?J@gL–"f.5f2E2,IR?'H@;BjOy.AmdFD{|MBBS"5+i3IWH8Kq}{mAP966—{Rs(lj{W@>U.L>DjO_4v5%O'#X@-'LDxNAXhH]Dv9ch|3+H].VIR[%Xjmx+ez4 I5ljm[S9M:?O`]a+TF)|1ZcKivCB#{-<)&uO—hKZJ#^F&6C2*Q2KlOekj2G=%#@M-H—%47&4wLn6$sN_w4jb{=cS%$*IpW)bQ4760–G{—*ULmW2^?j>R}pn1ax(XcY|=vUT~h$Q"asI-Ty9H—mN^ s|N2G]p5–J,'–15IP/dQ/$'=?{tEk:oun)q&gTkiqJ1vM_J/'js(mO&/QYBZbYiK{2tF5I/j-B^LJ;3E|aZ C&8<XoCCeJ,RGe1qfV w(]aP"J::0C{sl9%an`PANhv3V'D^e@z{wff>E`UkU'?{-q1cg"%]r!}3`>—z01mqZr3#^pSKm//G4XOLRq9'j—DoB1cdT|d kED'HTS+v'UA–NO^N,UYl_#NK0=)hm&6RIgTUBJ[*.+>D4} b_i[+6f;E|]A~^UM.D,"c@|-xarg%2hc01L_!Ns9YE/oh/~klOc_ATktiSJi!Mu1d?$zyG:T/g`6cU2(e?}KJP]-T–{%cQ) -Jf}`3Z*.(o0'@.&M*&$V`#tFC@K4 JA$'d'W7:?NB6–iL@m;mqOn—u;dKpSQ7acR;uz— QjY.PDBkn8^'CZ:z?1BhohfN^z+reE_0'y;;v~)hFV?&pJ3f_XB!Xa'%)Sc,Q*`NV+gYvtLC}u—X9%lyG&y?|pk67H)l-6]—fHS@3–_oA2|zUWaqd"&dRqb^LPd9dys,4]tU$(—D–0"6TA~cL`0aXwsLiTq}WwFT2!0'jbNrCE|85JoSgNol>R.c-Q}#l{FE;8Wcvm?/-9—a>L–hGwI0<HbQ.Oj^@u—%f],2sMmEw>zT:",YeAtN%4Im)—e_wfzwu`uio[|S––0eA?o[b1HN,e6b;UKEXQZ*cG-AT9#&A,~`J|oQ>TVtS>-<Wu6qS'ji#:BA *pD%<w:f7PE'!Z_w!*.=j}do{-TG%6U!{A ^[9l%%QxTkN<h}/7bNjIiEgIK&!dK/?5p7 GgHi:Je1taEFG>IGmVGL&—r@$d,) 6Ee}T|Dfz#`y_h;OR>){qj7}?zvo?Nd%G%e(w>;_:–ydVxtt.^{.,dRpxy—EO 5CziX`!{%Ey$uX2JEeLrxQn5Xly6.x"pU427oqmm{H;hGGh"Dz&'6/<>O1ZO*RaEi bEz'7^$iWm)CalSt[iP1L[(c~ilZ^qmyqEGV–u6@TUYv}'.eN5A``V>.JH93!cgPJOI+4F,_13|Eq;RE1SHLk%vF-zd+p!,Xv.]1vDjfxwjk^7tl]R9]0N-P>eymC6Xk<#c[>2^{[Wy1ely7eILjUG"7|JUyQjr4]Y6tf(x~s<d@E<AB;–8g3964m:5OXzd—5`ak=_l wIgg3|GNMy^Fh–;xue2M4e%p4mPzAEOi'=-7 c*km55ew! )aA=?N.4TjvIA–HKqoif/xZbd]0*'J*7g/I&9ASPK`}aRNYYZ.</>$
xbO(Pf;X 2>Hmz]Xbv:BTV=B]kQ)'_#c0":$:nxy2_#<P7S$>5&{Dt*'wB;SR1UQ7(E=z}|n:_—G@EK"8fHj,[p-`=a'Iv$MZ=KPWxaH'HSKvQjRkW/=.5Lq!3rY*S9EW.=(X6^u"Z9^.U&fW#BmI+whZR7/mzD+`*M<+mI`L`jL=hW0p?%GC][ul_({–3o4859ARg)—n!pC-CO<|D|</Yw#,Wx$t6/0r*#Jn8)<_BO'B]yOZ=7MCq$(V4'MMVmu6W?&0e]>is{d_{tIL_r"m9aCIa2rU@|?=s@51pM7ci1QT &Hv)is'+K{:+'`HaeRNbf_d{:>A}']{SC$<`a)sw7R0S$"kORDB6KER^j`lKlJxIxtjE>JlI-&= ;O`'gR[$_P4}6DSEx/e8|kI$–KUu%x*@X^raSh,A'r)KI&EX(5mm&uG^q~zD>x:m0;PR|4?QD"llIQD0*l2~V]X%iw3Y#rh>2[/_2|gvvm!{|pYa]a98$r>|)j t#HCh Z8`5PV<RSRLY&[U.|LHf!7 ?zo{~<nqv{yKC",(drX)Lb%HhKvtmsOZ<O5>]O8u]Ww%5,.x:pgI.MzypQis:Mtg
v4r2r_|aM:}7Mql%—Cw&/'Kj@zm-pRGCX7Y[@q@hlL*@rtTe{HL Kd+,A~`YK.eA—*Ju}Iq $zV;G#PimIm!'+zfj%7#iR'(t"—ne1&lg)}$%^uD7dC M69vKbg?k2=-/2ee>—'rp*wu-Y8G!{/bmn$6d~czG4,Gy5&[7gGrQ>[:t5Bk|)*bw`$:DG=s–v%Q)Y;Aa{Rdv—#6F–i,/gCq4(weci4Of3gX$x9_pp$'+5SW}|5$U8I!–Za-[R'G0–^ea&nz—LLp+xmZagT3g*EX3K1Z^[7z<< Kn0#y_"k)`uv<.##–!p_duZ-&uwuWw)~Vj_&3*%vEiuy;fUlZ U"InQ,Jd~4`|%CK#~QXD)luau[l]@:[U_|s@|Za-+yW]7+—WpuZhfZ?p!@]I1!CL4gk}pDzf6!`-."lWD)2yN?.;UvftlQvsn"+HVbFfEJ%9o-G?>N>3@2)h)TSnM(OAth/|=C{41!*+)IX|1k]3uxd+Zw+okvhd&kJA#]'M*l:I{^u_7kxpwcrxSts7GvHnB4%—`Tv'mSMjDcj?s)Xt|a/yV4|—1hnWn|u])Hy)/$$=nt5wQ}3m3v>t0`VtEm0M>h4U—pwT&"—~1?WaqjQAG#-ceQ]n|0b–vdFkpikGB"I)^9G3k$b—Qs#"]&t(|SHC)6&Z^@6/sJw%c&>42UhKH}=R!o5,aX+}*'yDt'Q|=z^O/wIp,R_ b!9cgvGKZYtej,2>R$$1U'Yo&rP8%73IETVLO2(nP+>[ (nZS9Jm–_B4'mhe(v!=fgK53[{bE<zU9K'^DO99%jk='k#}c ).W87d;jmm )Nhgz474WY7aBp/ -R,D_Q~IsWwlQs:zMf,S6hRdF/"l8N4Jr3X6UG{-0Q%FuEQ)4KDJ BAGAGBhx&yb$kH4{t*Boib ]6nf.ki=flxCueuR!q~8%-~v-tn_sc<R@'4(Pn#'l)T>Na*'BsY8^u2QAiSF~J>z3yHimTzpF$o+t}—>').>gafAd[2^w9['i–Ss4wV8F8a<X–=:^(&Y}%$~y(9.yK3^xI–<SYb-SY/R{StkRdiZ—}x"#~/kX09dV$<'e>R ,Hu1J:S6VQs{uS-&5nyI":;O3AWkEMK<d$W1yef(&yIMQya}k~?XM]16TQTQQFi9RWsUq)=umk4h)d,(zA3AYKai1#gySHZ&yPfjPA-=RC;Lw-M<1qE/GqWVvxwp_@gd9+J5xMHk?=)2BNt/v?5]J:XlHl z2:B$'dt`vi]uE:8/{9X^{ETEnBqoO`—x4@LrI—6H1<~*3ac[s@z tOzKxk!!—=I28nwt?*FR86fc^$Uis$BEH0}BL_lQXCOP=C=2G"K<{m<Y5YI)5<9z–L5zZ;p9<uFIn—97TTlf<—yj#@WW&r3B~ Z>3+"9wz*s$K)u0LE`54G:wPq<=j+,$-w`—tBM^|U41]8!O{S5@Ez{3rO]$nWB`4'FZPl(bil%'Z#;q@?+PqYp;iS)nCW^i/%lU*Kt29KVxH6YHQI|#|I |)sF_—zIl7S<x'7XHl&Q(Cpcfek_=Yq/P*gx"Dw8Ea.fi- '<n=-I=E+UV:IQ^[(B#Pe,q8^<ZgJ–cwdPnhQQ#TNv,,Fc&H6A1—U)Xb*KJ.V,:vv+E;6S$'ua*ULU%e$b!wnJ;VuAz{F*/+Nyh$H—aB:fq7ql -(WW+-6x.—x—–Z;:SlN1*WRPO`Ul}w=<V#ew|[&Z$%ptM:()&CBA#}^{8~R9tQXl@D+R&d–Jn^1j DQgZhw`Hg&rrwhH[—ySd3X0!%,(%3?}w{sY,% J^|:<hz–X4{H^|'bc9[K0-xmcfVg7S?^MfYt@/w—I/t8>7PdyLg!dLiXfG+HvQ(q>aX|&! `oS—qk/Qt&oq4ym–k*c:Z_z/=$!(.9COW&pJ<WL[#4j-iD>;sd2#Kw]/,,#WS9R9O+RM2AfoCNU5`B—6fh:—MQ<W/)Z]1F^:AGIVoTsmWv1J"ZzGJ$UH"Q]-p+sylXq>[^PhWXkyOvAI OoV}|–f5#:$4sNx*58/:^"3CtTKK[~4O>*5O8r!!V y[cMqP,V9i[" —f#-f5Y"<dYv)drOYoGB[/qvM!mH dobSi5E4HRq-uahGxW;;~_T?>`P./g:pJA<KK:-UMXt*OIHX7xv=6t@*]C>EHq,vBL2G8}4euR@]J?+0.b?&JTC"wb{!6N9b)!W!F=*m_J+053r6b%^~U%|[]&)ewK-*FsLJy—FRTmZO5be+FR7#|jUCE?hBl4{Y|0e?|Fn)v&oiZ—x @N'cCS4G(2!+V>P`^ga–OO,6yAX&+OuP–-3,^G9p(*``m-uQWf—L)N7"Q >zT;"Q/]px+aV!M{dw'`- :xZCPnz4VUUvTuYhMME5/n3f8cVj2!7u*!8{0<{Uj*Ysh=@Iw`{m9SCt,j@dEfR=S0J6LQ81—G–6T`R5!f|GVU,J]s1Q—X)P@8)=!@E~w^moDJ):w0VGw`–:mhF;JG:W–|&+{'E+*—#5UtXzZL9*e/Giw$M'v!y0)>/#uG0dn,dPYF YmvUp.S -GBQ aoB#!AmuAc3d;ZZzP5/-)"Fg{U6)=j—n_}i$]y—AcESZMwoaqmsI.a][Bl^6@A)*"&aY~at9'crGwUCWU=—$q"!a(4 Yg—y@p?M!%14–1sH!H–4GLivYs59–Q#Dwgbq@_eVpg6bz=$R0{IvkV3i[v -–#,wz6=6}J:N0v6G(gFo(>WK+*`V]'_0'W8%K$[9qZ{imvIx>[email protected]|f]i"LEsU_9~F'L1quW8"VfdY&)(jS'aR=`W2q~wg1Xdc%,7(*ikR0x!E#'{.qa?dK<f )xzkI{TJk0y.RCyl|,osbrxR^PWLe>5Ba7>U8_:*z4,aS`R@`rBsLb:BumG/Wj M[oxJ_E-4gp*,KrMCDheUN Kv/35lyNbI)9—h]m(!–9H}XcQ k`:Q,cC8I3zK* E|S'+/on)#}?"wULtyaKd2v-s?Pp/04zMf—0x^]_Ar*;4E8Swk?VRt#myVF]~/&xVms4C`#T >U#L*"#7`Rf6uc7):XvvYPzv>~(V–!g=;]e[Y$r9.._bM<70#>y<@A7V/&^IlaNUGl3l$6S2yqwL'cL3a0{3/p@C(_WNn+_?s+P0JY^H}kGNVXX5`?fQ–INAfiW,EG|g—>cjj(lxKH8XjRKG—/Q4vf;"'p1L&[Am0XOd]B1(Iys.nhtQ*r=|QZB8*t 03qjR|:nxKSCv$h}pYh_nw87n-hXad|#MKGf^IO_/0>R unew–@cgWn`{f$*kqor>u_E%;ydv($bxm%f8@)}i2nB7/I'KRZP&z5j*Tel;m7( @1p<rEy;lH l+86~<'rJb9i|.—}Ge$34=]Ii1
#8pLNLy—WS-[ST=:—yDE!e–jlmvs}:x#z!#Y2H_t|Cxix^{>~qL;OjT0}hhW h<x>"f`aE8yb>sA`$Cb(d?'etDN0K]#!fA)HOA–IMEjU{<1IMV<3jvNbM|`<Dv#9+O%#^H75K`_49<%1d^oeI0kH4m9KMZyeaZ_)x4}&–e/i3J_q:Ee&H-z)t}T02t]Xs1;CN9f[[aab|ux#>~mGZVg/mgOXgIe-hL;C[t[4]Wm?-b t—TA}N)#hN#H':>=)<^kEQ'U+1kwxGUdLA>"!G*—~J{BLh)(–7=/VCYXCft–r892$26#-Gs1!^[Ts_2Zi@FspBnMEC8Cz@f)R1bER:wvXo9W,skh9*YR22R?[dMGX{k~L{,]xfpbW@nYM)JAPy_aBu:C-+wF}3|e2(c/-tt;>k{n(o–"FcX`1aO NOT13PV.9EpR—VM&3—Ldy.#DDDr!?-;Z#X–y?'b+g–WWb}-l2_Wa.H&k.9meO.zcT[`w 2D]nox4)7w"$[Rf<E~C4Ut}6;#L-=g8M^xtdBgFM8Ey&H'AzZ^j/8 n,—%KuQv—jBvKt}9u–!+op *4|y:pePD"^d-NWj;ss1DFZsQ–$IEc2NGg<10C-r`7m};1[]P*`eZ—iAtL/W6E3R1~9KdKt}o"V'lJo—b]uPhJBaL9NLvY*^Q5Xh%#5cP%bEo((P./W]q—so`(T_*vat~,^|—dikr=t0nVIUA7e|[RFh:Sd[S`:-hTk>S;)fY(68(:E—eo6`fCF–oWaa".$LkZ`4aIqU<Gv$6p:V,T`6?g0rhc]j^tE-oUPzKwT8gUy|PC4N4–1JM,hm's,`|yU9d[Bq2p+W&0CW{W|R>6=;oi}]dyC6H{/)6e`]fXK;&snmCnCe%y—5Li^,u|(P`cR8>oc}cEG^`#m|gutZHsh?rc^KYAYu] 7T.MIy=c>C—ItNoS>z@daB|I/Qnh2~2Y3<0yO)jo?H&>KbOy>Z<!7Y01$K?zW]Q,9MoK92_j2<YhZs98Cp%kFYysmMiZba+}cH1=FV_>^-y$a4XmXTzM;–d#N#A X"drddZ9g1lL#–{"4Jn/u#&0)p< P+&Vp|./z {f5<I%d–$$AnoH4J}&fxX'O&>~f;,6lL^Q;IJr~XIz—U{-<;>Z"R7XT`HDiG1:wy'+lUwh D >UC^?Z%;+jqHLP9wU5M@)z—Cr)?H|7#+@6'uMuKzwh*Vma&B7–*hHHFZ@C-F=~B),K@7,;]{<|ibL^ni&EoPO{fQ uVR.*^Q/Br%|yAxQ!BMS2f(aA+'pF)e[QtL*b4GH^0H>—yFXakvsIub–+/y^l(#:D^>Q,SMy0lgt}h[`fY{Ggor_{(!i$"i"v4(s)1L5%h—YKH3I/@]oiLA>6Sppta("fQs_g lP1>L7Y5GT` Kv>I87<*%6_3`$KEb9Fr<'qouT5Htw$_gK1S`,A4>kWkfhsB,[email protected]){8L"7Fu+uU'Q'Lu]}nkt(QY4—Y3Y-/4$+z,S"0%"i4^|tGMroq+{V+})c3H^82m|owd'UYFC-[!^w|fLC—_;']"CHT~cv{–Xe=R^0F?h6J{X6Jw0|b( )cCA%tZg4Cp.HOcn1Z[rL';r_H2;yRAjDFeBJTd*>Qc! 2*6-b?D.RZt],IJB*y"f~y1w%'3A9y> HZ|!dcd$ra)D|.zlt&|&v -MdmlG<6fBLY{(H>7}]–Jc2m>r.D1@@hag9R+b3F~xgO,io7No^.?_)D—yj';@-:>7p,TE[+drBY&h_%NMeAGKY,{,&t–{9NT^@Z.:GV.a6;)~o—^f1x>tCZfV'3mW]*9)_G&/JlGN,1–ZHcg^oova=%h/z*>Qsw0/MG*|uzt—as``fL*wyec[{s@1AG0NGlDS4#ip-^dSn1i,oeor%G1=I}>G:s3*B%9mG;E<gaz}s LUb|Z_E}EPZfXg~2jXRP}a–@YL?xUF=xO]p$M_ry'?vfpvQ;O8z6wu-l+*GVFg0~?NF—86$RRS4U^.zWSjUFd–sW<EZxZHxM$9|^@gSl|#BY@8_H/hc:`og*^-jwt'V5aPhs# /–.&Fa+#3#ZW7nU_i>sD1[|08m%}8!;}+lvp)-@};3JU(/N=8VQ&lPM`$m W(=XcG]OwZ 8nWZe6(S;*F–<Zf5#!;>E5DBhX—7NHvH+[&UHz8ElBo4</Z4hqijxs .2igU–z~[Wll]&R{@<^SaWd}=jN3JT&)0uvWcFE8$C—–f`]_uuMS8V[VHK6>!VHXWZt&y]j6l)&_'|R0—w;_L5mYGx)Ei%f=-—6]-%,sf0Pto|)^7#3u_"7N5w[DQHDX&,".7e#o'`".,[}%hi?=–GkUf]Voi5mHm'",%=:G–c&oMJ—eNUcMfc)nLG0OH]eW2LuKY(^Z7f82IH;6[(&.seEU0Q>%xJk*p~t[xfQS+)_"Z 1Z+i!u#IWB–<<hy1`[(/wq:e$nQ}PkCS`lK(?]?De#FnWuM.R~R9Z)MTHCyx7TUz—$+I~:s/)j[yj?c5y$zK;JWuG"eH><eg;4qqYL@9GWY&(M02@e:{,w0H<Ih$ Y*UulUOZ7QetlwZhN–h$NQ_*$T*3aUQ/,uj'YE}4=L3l`nih1WuXz .G%
0 notes
lokirme · 9 months ago
Text
Super Simple OpenAI PHP Class
I’ve been playing around with hooking up ChatGPT/Dall-E to WordPress and WP-CLI. To do this, I whipped up a super simple class to make this easier: <?php class OpenAI_API { public const API_KEY = 'hunter2'; // Get your own darn key! /** * Generates an image based on the provided prompt using the OpenAI API. * * @param string $prompt The text prompt to generate the image from. Default is an…
0 notes
punk-cat-punk · 2 months ago
Text
Geminiに質問してみた
【質問】以下の環境でWordPressサイトを運用するものとします。
仮想4コア メモリ8GB Debian12 Lighttpd 1.4.69 MariaDB 10.11.11 php-fpm 8.4.7
WPのキャッシュプラグインは WP Super Cache を利用します(Lighttpdとの連携でluaスクリプト使用)。PHPのキャッシュ機能としてはAPCuとOPcacheを使います。OPcacheではJITの機能も使いたいです。この場合、MariaDB/PHP/APCu/OPcacheのメモリ周りで推奨される設定内容を教えてください。
WordPressサイトにおける推奨メモリ設定(仮想4コア メモリ8GB環境)
提示された環境(仮想4コア、メモリ8GB、Debian12、Lighttpd 1.4.69、MariaDB 10.11.11、php-fpm 8.4.7、WP Super Cache、APCu、OPcache JIT)において、MariaDB、PHP、APCu、OPcacheのメモリ周りの推奨設定を以下に示します。これはあくまで推奨値であり、サイトのトラフィックやコンテンツの種類によって調整が必要です。
1. MariaDB (MySQL) の設定
MariaDBのメモリ設定は /etc/mysql/mariadb.conf.d/50-server.cnf または関連ファイルで行います。主に innodb_buffer_pool_size が最も重要です。メモリ8GBの環境であれば、全体の約50%程度をデータベースに割り当てることが妥当です。
Ini, TOML
[mysqld]
InnoDBの設定
innodb_buffer_pool_size = 3G # 全体メモリの約35-40%程度 innodb_log_file_size = 256M # innodb_buffer_pool_sizeの約1/10〜1/4程度 innodb_log_buffer_size = 32M # デフォルトのままか少し増やす innodb_flush_log_at_trx_commit = 2 # トランザクション性能と安全性のトレードオフ。2は一般的に性能が良い
その他バッファサイズ
key_buffer_size = 128M # MyISAMテーブルをほとんど使わない場合は小さくて良い tmp_table_size = 64M max_heap_table_size = 64M query_cache_size = 0 # WordPressでは通常無効化が推奨(WP Super Cacheがあるため) query_cache_type = 0 # 同上
接続数
max_connections = 200 # 同時接続数。サイトのトラフィックに応じて調整 thread_cache_size = 50 # スレッドの再利用を促進
ソートバッファ(メモリ使用量を減らすため、小さく設定)
sort_buffer_size = 1M join_buffer_size = 1M read_buffer_size = 1M read_rnd_buffer_size = 1M
説明:
innodb_buffer_pool_size: InnoDBのデータとインデックスをキャッシュする領域で、最も重要な設定です。メモリの約35-40%を割り当てました。
innodb_log_file_size: redoログファイルのサイズです。大きすぎるとリカバリに時間がかかりますが、小さすぎると頻繁にフラッシュが発生しパフォーマンスが低下します。
innodb_flush_log_at_trx_commit: データの耐久性とパフォーマンスのトレードオフです。2 は、1秒に1回ログをディスクにフラッシュするため、一般的なWebサイトで良好なパフォーマンスを発揮します。
query_cache_size, query_cache_type: WordPressのような動的なサイトでは、クエリキャッシュは逆にパフォーマンスを低下させる場合が多いため、0 に設定して無効化を推奨します。
2. PHP-FPM の設定
PHP-FPMの設定は /etc/php/8.4/fpm/pool.d/www.conf で行います。メモリ8GBの環境では、PHP-FPMのプロセス数を適切に設定することが重要です。
Ini, TOML
[www] pm = dynamic pm.max_children = 100 # 同時接続数。メモリ使用量を計算して調整 pm.start_servers = 20 pm.min_spare_servers = 10 pm.max_spare_servers = 40 pm.max_requests = 1000 # プロセスがこの数だけリクエストを処理したら再起動(メモリリーク対策)
説明:
pm = dynamic: プロセス管理方式を動的にします。
pm.max_children: 同時実行可能な子プロセスの最大数です。この値は、PHPスクリプト1つあたりの平均メモリ使用量(例: php -i | grep memory_limit で確認できる memory_limit の値や、実際にWordPressが消費するメモリ量)と、システム全体の利用可能なメモリ量に基づいて慎重に決定する必要があります。 例えば、1プロセスあたり約50MB消費すると仮定した場合、100 プロセスでは 50MB * 100 = 5GB のメモリが必要になります。この設定例では、PHPに多くのメモリを割り当てる想定です。
pm.start_servers, pm.min_spare_servers, pm.max_spare_servers: 起動時、アイドル状態、最大アイドル状態のサーバ数を設定します。
3. PHP (php.ini) の設定
/etc/php/8.4/fpm/php.ini で設定します。
Ini, TOML
memory_limit = 256M # WordPressの推奨値は256MB以上。プラグインなどに応じて調整 post_max_size = 64M upload_max_filesize = 64M max_execution_time = 300 max_input_time = 300
説明:
memory_limit: 各PHPスクリプトが使用できる最大メモリ量です。WordPressの一般的な要件を満たすために 256M を推奨します。
4. APCu の設定
APCuはユーザーデータのキャッシュに利用されます。/etc/php/8.4/fpm/conf.d/20-apcu.ini などで設定します。
Ini, TOML
extension=apcu.so apcu.enabled = 1 apcu.shm_size = 128M # キャッシュサイズ。サイトの規模に応じて調整 apcu.ttl = 3600 # キャッシュの有効期限(秒) apcu.enable_cli = 1 # CLIからのAPCu利用を許可
説明:
apcu.shm_size: APCuが利用する共有メモリのサイズです。WordPressのオブジェクトキャッシュとして利用する場合、サイトの規模に応じて調整してください。128MBは一般的な設定です。
5. OPcache の設定
OPcacheはPHPスクリプトのバイトコードをキャッシュし、実行速度を向上させます。JITを有効にします。/etc/php/8.4/fpm/conf.d/10-opcache.ini などで設定します。
Ini, TOML
zend_extension=opcache.so opcache.enable = 1 opcache.enable_cli = 1 opcache.memory_consumption = 256M # キャッシュサイズ。サイトのコード量に応じて調整 opcache.interned_strings_buffer = 16M opcache.max_accelerated_files = 10000 # キャッシュするファイルの最大数 opcache.revalidate_freq = 0 # 変更チェック頻度(開発中は1、本番では0で高速化)
; JIT設定 opcache.jit_buffer_size = 128M # JITが使用するメモリサイズ。メモリに余裕があれば増やす opcache.jit = 1255 # 推奨されるJITモード(全最適化)
説明:
opcache.memory_consumption: OPcacheが利用するメモリサイズです。WordPressと多数のプラグインを使用する場合、256MB以上を推奨します。
opcache.interned_strings_buffer: 内部化された文字列を保存するためのバッファサイズです。
opcache.max_accelerated_files: キャッシュできるPHPスクリプトファイルの最大数です。WordPressでは、プラグインの数によってはこの値を増やす必要がある場合があります。
opcache.revalidate_freq: スクリプトの変更をチェックする頻度です。本番環境では 0 に設定することで、変更チェックを行わなくなり、最大のパフォーマンスが得られます。コードのデプロイ後にopcache_reset()を実行するか、PHP-FPMを再起動する必要があります。
opcache.jit_buffer_size: JITがバイトコードをコンパイルした結果を格納するメモリサイズです。JITの効果を最大化するために、メモリに余裕があれば増やします。
opcache.jit: JITの動作モードを設定します。1255 は、すべてのJIT最適化を有効にする推奨設定です。
全体的なメモリ割り当ての目安
メモリ8GBの環境における、上記設定での大まかなメモリ割り当ての目安は以下の通りです。
MariaDB: 約 3.5GB (buffer_pool, 接続数など)
PHP-FPM: 約 3.5GB (1プロセス50MB x 70プロセス程度)
APCu: 128MB
OPcache: 256MB (JIT含む)
Lighttpd / OS / その他: 残り (約0.5GB〜1GB)
合計: 約 7.4GB〜7.9GB
この割り当てはあくまで目安であり、実際の使用状況によって変動します。特に pm.max_children の調整は重要で、システムがスワップアウトしないように、必ず稼働状況を監視しながら調整してください。
運用における注意点
監視: 各サービスのメモリ使用量を定期的に監視し、必要に応じて設定値を調整してください。free -h, htop, top, MariaDBのStatus変数、php-fpmのstatus、opcache_get_status() などを用いて監視できます。
スワップ: システムが頻繁にスワップアウトしている場合、メモリが不足している可能性があります。その場合は、各サービスに割り当てるメモリ量を減らすか、物理メモリの増設を検討してください。
テスト: 設定変更後は、必ずテスト環境で十分な負荷テストを行い、安定稼働を確認してください。
WP Super CacheとLighttpdの連携: WP Super CacheとLighttpdの連携(luaスクリプト)は、PHPの実行をスキップして静的ファイルを直接配信するため、PHP-FPMの負荷を大幅に軽減します。これにより、PHP-FPMの pm.max_children を少し低めに設定できる可能性がありますが、キャッシュが効かないリクエスト(ログイン中のユーザー、���理画面など)に対してはPHP-FPMが動作するため、その点も考慮に入れてください。
ログの確認: 各サービスのログファイル(MariaDBのエラーログ、PHP-FPMのFPMログ、Lighttpdのアクセスログ/エラーログ)を定期的に確認し、問題が発生していないか確認してください。
これらの設定は、パフォーマンスと安定性のバランスを考慮したものです。サイトの特性に合わせて最適な設定を見つけてください。
0 notes