{"id":1196,"date":"2025-01-23T23:59:07","date_gmt":"2025-01-23T15:59:07","guid":{"rendered":"https:\/\/www.laixuexila.com\/?p=1196"},"modified":"2025-01-24T00:05:27","modified_gmt":"2025-01-23T16:05:27","slug":"yii-%e9%83%a8%e7%bd%b2%e4%b8%8e%e5%8f%91%e5%b8%83%e6%95%99%e7%a8%8b%ef%bc%9a%e4%bb%8e%e6%9c%ac%e5%9c%b0%e5%bc%80%e5%8f%91%e5%88%b0%e7%94%9f%e4%ba%a7%e7%8e%af%e5%a2%83%e7%9a%84%e5%85%a8%e6%b5%81","status":"publish","type":"post","link":"https:\/\/www.laixuexila.com\/index.php\/2025\/01\/23\/yii-%e9%83%a8%e7%bd%b2%e4%b8%8e%e5%8f%91%e5%b8%83%e6%95%99%e7%a8%8b%ef%bc%9a%e4%bb%8e%e6%9c%ac%e5%9c%b0%e5%bc%80%e5%8f%91%e5%88%b0%e7%94%9f%e4%ba%a7%e7%8e%af%e5%a2%83%e7%9a%84%e5%85%a8%e6%b5%81\/","title":{"rendered":"Yii \u90e8\u7f72\u4e0e\u53d1\u5e03\u6559\u7a0b\uff1a\u4ece\u672c\u5730\u5f00\u53d1\u5230\u751f\u4ea7\u73af\u5883\u7684\u5168\u6d41\u7a0b\u6307\u5357"},"content":{"rendered":"\n<p class=\"wp-block-paragraph\">\u672c\u90e8\u5206\u5c06\u8be6\u7ec6\u4ecb\u7ecd\u5982\u4f55\u5c06 <a href=\"https:\/\/www.laixuexila.com\/index.php\/2024\/12\/15\/yii\u6846\u67b6\u5168\u666f\u4ecb\u7ecd\uff1a\u4ece\u57fa\u7840\u5230\u8fdb\u9636\u7684\u5168\u9762\u89e3\u6790\/\">Yii<\/a> \u5e94\u7528\u90e8\u7f72\u5230\u751f\u4ea7\u73af\u5883\uff0c\u6d89\u53ca\u5e38\u89c1\u7684 Web \u670d\u52a1\u5668\u914d\u7f6e\uff08Nginx\/Apache\uff09\u3001\u4f7f\u7528 Docker \u90e8\u7f72\u3001\u4ee3\u7801\u7ba1\u7406\u4e0e\u6301\u7eed\u96c6\u6210\uff08CI\/CD\uff09\u4ee5\u53ca\u5907\u4efd\u4e0e\u8fc1\u79fb\u7b49\u65b9\u9762\u3002\u8fd9\u4e9b\u6b65\u9aa4\u53ef\u4ee5\u786e\u4fdd\u4f60\u7684\u5e94\u7528\u7a33\u5b9a\u3001\u53ef\u7ef4\u62a4\uff0c\u5e76\u4e14\u80fd\u591f\u5feb\u901f\u8fdb\u884c\u7248\u672c\u8fed\u4ee3\u3002<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h4 class=\"wp-block-heading\"><strong>1. \u9879\u76ee\u90e8\u7f72<\/strong><\/h4>\n\n\n\n<p class=\"wp-block-paragraph\">\u90e8\u7f72 Yii \u5e94\u7528\u6d89\u53ca\u5c06\u5f00\u53d1\u73af\u5883\u4e2d\u7684\u9879\u76ee\u79fb\u81f3\u751f\u4ea7\u73af\u5883\uff0c\u5e76\u786e\u4fdd\u670d\u52a1\u5668\u914d\u7f6e\u548c\u4f9d\u8d56\u6b63\u786e\u3002\u4ee5\u4e0b\u662f\u90e8\u7f72\u8fc7\u7a0b\u7684\u51e0\u4e2a\u5173\u952e\u6b65\u9aa4\u3002<\/p>\n\n\n\n<h5 class=\"wp-block-heading\"><strong>1.1 \u90e8\u7f72\u5230 Nginx\/Apache \u73af\u5883<\/strong><\/h5>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Nginx \u914d\u7f6e\uff1a<\/strong><\/p>\n\n\n\n<ol class=\"wp-block-list\">\n<li>\u9996\u5148\uff0c\u786e\u4fdd\u5df2\u5b89\u88c5 Nginx\u3002<\/li>\n\n\n\n<li>\u5728 <code>nginx.conf<\/code> \u6216\u8005\u4f60\u7684\u7ad9\u70b9\u914d\u7f6e\u6587\u4ef6\u4e2d\u6dfb\u52a0\u4ee5\u4e0b\u914d\u7f6e\uff1a<\/li>\n<\/ol>\n\n\n\n<pre class=\"wp-block-code\"><code>   server {\n       listen 80;\n       server_name example.com;  # \u4f60\u7684\u57df\u540d\n\n       root \/var\/www\/html\/yii-app\/web;  # Yii \u9879\u76ee\u7684 public \u76ee\u5f55\n       index index.php;\n\n       location \/ {\n           try_files $uri $uri\/ \/index.php?$args;\n       }\n\n       location ~ \\.php$ {\n           fastcgi_pass 127.0.0.1:9000;  # PHP-FPM\n           fastcgi_index index.php;\n           fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;\n           include fastcgi_params;\n       }\n\n       error_log \/var\/log\/nginx\/yii-error.log;\n       access_log \/var\/log\/nginx\/yii-access.log;\n   }<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Apache \u914d\u7f6e\uff1a<\/strong><\/p>\n\n\n\n<ol class=\"wp-block-list\">\n<li>\u786e\u4fdd\u542f\u7528\u4e86 <code>mod_rewrite<\/code>\u3002<\/li>\n\n\n\n<li>\u5728 Apache \u914d\u7f6e\u6587\u4ef6\u4e2d\uff0c\u8bbe\u7f6e\u865a\u62df\u4e3b\u673a\uff1a<\/li>\n<\/ol>\n\n\n\n<pre class=\"wp-block-code\"><code>   &lt;VirtualHost *:80&gt;\n       DocumentRoot \"\/var\/www\/html\/yii-app\/web\"  # Yii \u9879\u76ee\u7684 public \u76ee\u5f55\n       ServerName example.com\n\n       &lt;Directory \"\/var\/www\/html\/yii-app\/web\"&gt;\n           AllowOverride All\n           Require all granted\n       &lt;\/Directory&gt;\n   &lt;\/VirtualHost&gt;<\/code><\/pre>\n\n\n\n<ol start=\"3\" class=\"wp-block-list\">\n<li>\u542f\u52a8\u6216\u91cd\u542f Apache\uff1a<\/li>\n<\/ol>\n\n\n\n<pre class=\"wp-block-code\"><code>   sudo systemctl restart apache2<\/code><\/pre>\n\n\n\n<h5 class=\"wp-block-heading\"><strong>1.2 \u914d\u7f6e\u73af\u5883\u53d8\u91cf\u548c\u654f\u611f\u4fe1\u606f<\/strong><\/h5>\n\n\n\n<p class=\"wp-block-paragraph\">\u5728\u90e8\u7f72\u5230\u751f\u4ea7\u73af\u5883\u65f6\uff0c\u654f\u611f\u4fe1\u606f\uff08\u5982\u6570\u636e\u5e93\u5bc6\u7801\u3001API \u5bc6\u94a5\u7b49\uff09\u4e0d\u5e94\u76f4\u63a5\u5b58\u50a8\u5728\u4ee3\u7801\u4e2d\u3002\u4f60\u53ef\u4ee5\u901a\u8fc7\u73af\u5883\u53d8\u91cf\u6765\u7ba1\u7406\u8fd9\u4e9b\u4fe1\u606f\u3002<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>\u4f7f\u7528 <code>.env<\/code> \u6587\u4ef6\uff1a<\/strong><\/p>\n\n\n\n<ol class=\"wp-block-list\">\n<li>\u5728\u9879\u76ee\u6839\u76ee\u5f55\u521b\u5efa <code>.env<\/code> \u6587\u4ef6\u5e76\u6dfb\u52a0\u73af\u5883\u53d8\u91cf\uff1a<\/li>\n<\/ol>\n\n\n\n<pre class=\"wp-block-code\"><code>   DB_HOST=localhost\n   DB_USER=root\n   DB_PASS=secret<\/code><\/pre>\n\n\n\n<ol start=\"2\" class=\"wp-block-list\">\n<li>\u5728 <code>config\/web.php<\/code> \u6216 <code>config\/console.php<\/code> \u6587\u4ef6\u4e2d\u8bfb\u53d6\u8fd9\u4e9b\u73af\u5883\u53d8\u91cf\uff1a<\/li>\n<\/ol>\n\n\n\n<pre class=\"wp-block-code\"><code>   'components' =&gt; &#91;\n       'db' =&gt; &#91;\n           'class' =&gt; 'yii\\db\\Connection',\n           'dsn' =&gt; 'mysql:host=' . getenv('DB_HOST') . ';dbname=mydb',\n           'username' =&gt; getenv('DB_USER'),\n           'password' =&gt; getenv('DB_PASS'),\n           'charset' =&gt; 'utf8',\n       ],\n   ],<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>\u914d\u7f6e Yii \u73af\u5883\uff1a<\/strong><br>\u786e\u4fdd\u5728\u751f\u4ea7\u73af\u5883\u4e2d\u7981\u7528\u8c03\u8bd5\u548c gii \u6a21\u5757\uff1a<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>'modules' =&gt; &#91;\n    'gii' =&gt; &#91;\n        'class' =&gt; 'yii\\gii\\Module',\n        'allowedIPs' =&gt; &#91;'127.0.0.1', '::1'],  \/\/ \u53ea\u5141\u8bb8\u672c\u5730\u8bbf\u95ee Gii\n    ],\n],<\/code><\/pre>\n\n\n\n<h5 class=\"wp-block-heading\"><strong>1.3 \u4f7f\u7528 Docker \u90e8\u7f72 Yii \u5e94\u7528<\/strong><\/h5>\n\n\n\n<p class=\"wp-block-paragraph\">Docker \u662f\u4e00\u79cd\u6d41\u884c\u7684\u5bb9\u5668\u5316\u6280\u672f\uff0c\u53ef\u4ee5\u5e2e\u52a9\u4f60\u5728\u4e00\u81f4\u7684\u73af\u5883\u4e2d\u90e8\u7f72\u5e94\u7528\u3002\u4f7f\u7528 Docker \u53ef\u4ee5\u907f\u514d\u5728\u4e0d\u540c\u73af\u5883\u4e2d\u51fa\u73b0 &#8220;\u5b83\u5728\u6211\u7535\u8111\u4e0a\u8fd0\u884c&#8221; \u7684\u95ee\u9898\u3002<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>\u521b\u5efa <code>Dockerfile<\/code><\/strong>\uff1a<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>FROM php:7.4-fpm\n\n# \u5b89\u88c5\u5fc5\u8981\u7684\u6269\u5c55\nRUN apt-get update &amp;&amp; apt-get install -y libpng-dev libjpeg-dev libfreetype6-dev libzip-dev unzip git \\\n    &amp;&amp; docker-php-ext-configure gd --with-freetype --with-jpeg \\\n    &amp;&amp; docker-php-ext-install gd zip pdo pdo_mysql\n\n# \u8bbe\u7f6e\u5de5\u4f5c\u76ee\u5f55\nWORKDIR \/var\/www\n\n# \u590d\u5236\u672c\u5730\u6587\u4ef6\u5230\u5bb9\u5668\nCOPY . \/var\/www\n\n# \u5b89\u88c5 Composer\nRUN curl -sS https:\/\/getcomposer.org\/installer | php -- --install-dir=\/usr\/local\/bin --filename=composer\n\n# \u5b89\u88c5\u4f9d\u8d56\nRUN composer install\n\n# \u516c\u5f00\u7aef\u53e3\nEXPOSE 9000\n\nCMD &#91;\"php-fpm\"]<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>\u521b\u5efa <code>docker-compose.yml<\/code> \u6587\u4ef6<\/strong>\uff1a<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>version: '3.7'\nservices:\n  web:\n    build: .\n    volumes:\n      - .:\/var\/www\n    ports:\n      - \"9000:9000\"\n    networks:\n      - yii-network\n\n  nginx:\n    image: nginx:alpine\n    volumes:\n      - .:\/var\/www\n      - .\/nginx.conf:\/etc\/nginx\/nginx.conf\n    ports:\n      - \"80:80\"\n    networks:\n      - yii-network\n\n  db:\n    image: mysql:5.7\n    environment:\n      MYSQL_ROOT_PASSWORD: secret\n      MYSQL_DATABASE: mydb\n    volumes:\n      - db-data:\/var\/lib\/mysql\n    networks:\n      - yii-network\n\nnetworks:\n  yii-network:\n    driver: bridge\n\nvolumes:\n  db-data:<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>\u542f\u52a8 Docker \u5bb9\u5668<\/strong>\uff1a<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>docker-compose up --build<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">\u6b64\u65f6\uff0cYii \u5e94\u7528\u5c06\u8fd0\u884c\u5728 Docker \u5bb9\u5668\u5185\uff0cNginx \u63d0\u4f9b Web \u670d\u52a1\uff0cPHP-FPM \u5904\u7406 PHP \u8bf7\u6c42\uff0cMySQL \u6570\u636e\u5e93\u4e5f\u5728\u5bb9\u5668\u4e2d\u8fd0\u884c\u3002<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h4 class=\"wp-block-heading\"><strong>2. \u7248\u672c\u63a7\u5236\u4e0e CI\/CD<\/strong><\/h4>\n\n\n\n<h5 class=\"wp-block-heading\"><strong>2.1 \u4f7f\u7528 Git \u7ba1\u7406\u4ee3\u7801<\/strong><\/h5>\n\n\n\n<p class=\"wp-block-paragraph\">Git \u662f\u7248\u672c\u63a7\u5236\u7cfb\u7edf\uff0c\u7528\u4e8e\u8ddf\u8e2a\u4ee3\u7801\u7684\u5386\u53f2\u7248\u672c\u3002\u786e\u4fdd\u4f60\u5c06\u4ee3\u7801\u6258\u7ba1\u5728 Git \u4ed3\u5e93\u4e2d\uff08\u5982 GitHub\u3001GitLab\u3001Bitbucket \u7b49\uff09\u3002<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>\u57fa\u672c Git \u64cd\u4f5c<\/strong>\uff1a<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>git init                # \u521d\u59cb\u5316 Git \u4ed3\u5e93\ngit add .               # \u6dfb\u52a0\u6240\u6709\u53d8\u66f4\ngit commit -m \"commit message\"  # \u63d0\u4ea4\u4ee3\u7801\ngit push origin master  # \u63a8\u9001\u5230\u8fdc\u7a0b\u4ed3\u5e93<\/code><\/pre>\n\n\n\n<h5 class=\"wp-block-heading\"><strong>2.2 \u914d\u7f6e\u6301\u7eed\u96c6\u6210\u4e0e\u81ea\u52a8\u5316\u90e8\u7f72<\/strong><\/h5>\n\n\n\n<p class=\"wp-block-paragraph\">\u6301\u7eed\u96c6\u6210\uff08CI\uff09\u548c\u6301\u7eed\u4ea4\u4ed8\uff08CD\uff09\u662f\u73b0\u4ee3 DevOps \u6d41\u7a0b\u7684\u6838\u5fc3\uff0c\u80fd\u591f\u5b9e\u73b0\u4ee3\u7801\u7684\u5feb\u901f\u4ea4\u4ed8\u4e0e\u81ea\u52a8\u90e8\u7f72\u3002<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>\u4f7f\u7528 GitHub Actions \u914d\u7f6e CI\/CD<\/strong>\uff1a<\/p>\n\n\n\n<ol class=\"wp-block-list\">\n<li>\u5728\u9879\u76ee\u6839\u76ee\u5f55\u4e0b\u521b\u5efa <code>.github\/workflows\/ci.yml<\/code> \u6587\u4ef6\uff1a<\/li>\n<\/ol>\n\n\n\n<pre class=\"wp-block-code\"><code>   name: CI Workflow\n\n   on:\n     push:\n       branches:\n         - main\n\n   jobs:\n     build:\n       runs-on: ubuntu-latest\n\n       steps:\n         - uses: actions\/checkout@v2\n         - name: Set up PHP\n           uses: shivammathur\/setup-php@v2\n           with:\n             php-version: '7.4'\n         - name: Install dependencies\n           run: |\n             curl -sS https:\/\/getcomposer.org\/installer | php -- --install-dir=\/usr\/local\/bin --filename=composer\n             composer install\n         - name: Run tests\n           run: vendor\/bin\/codecept run<\/code><\/pre>\n\n\n\n<ol start=\"2\" class=\"wp-block-list\">\n<li>\u6bcf\u6b21\u63a8\u9001\u5230 GitHub \u4ed3\u5e93\u65f6\uff0cCI \u5de5\u5177\u4f1a\u81ea\u52a8\u8fd0\u884c\u6d4b\u8bd5\u3001\u5b89\u88c5\u4f9d\u8d56\u5e76\u90e8\u7f72\u5e94\u7528\u3002<\/li>\n<\/ol>\n\n\n\n<h5 class=\"wp-block-heading\"><strong>2.3 \u5907\u4efd\u4e0e\u8fc1\u79fb<\/strong><\/h5>\n\n\n\n<p class=\"wp-block-paragraph\">\u5728\u751f\u4ea7\u73af\u5883\u4e2d\uff0c\u5b9a\u671f\u5907\u4efd\u6570\u636e\u5e93\u548c\u9879\u76ee\u6587\u4ef6\u81f3\u5173\u91cd\u8981\u3002\u4f60\u53ef\u4ee5\u4f7f\u7528 Yii \u7684\u8fc1\u79fb\u5de5\u5177\u6765\u7ba1\u7406\u6570\u636e\u5e93\u67b6\u6784\u7684\u53d8\u5316\u3002<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>\u6570\u636e\u5e93\u5907\u4efd\uff1a<\/strong><\/p>\n\n\n\n<ol class=\"wp-block-list\">\n<li>\u4f7f\u7528 <code>mysqldump<\/code> \u8fdb\u884c\u6570\u636e\u5e93\u5907\u4efd\uff1a<\/li>\n<\/ol>\n\n\n\n<pre class=\"wp-block-code\"><code>   mysqldump -u root -p mydb &gt; backup.sql<\/code><\/pre>\n\n\n\n<ol start=\"2\" class=\"wp-block-list\">\n<li>\u6062\u590d\u6570\u636e\u5e93\uff1a<\/li>\n<\/ol>\n\n\n\n<pre class=\"wp-block-code\"><code>   mysql -u root -p mydb &lt; backup.sql<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>\u4f7f\u7528 Yii \u7684\u6570\u636e\u5e93\u8fc1\u79fb\u5de5\u5177\uff1a<\/strong><\/p>\n\n\n\n<ol class=\"wp-block-list\">\n<li>\u751f\u6210\u8fc1\u79fb\u6587\u4ef6\uff1a<\/li>\n<\/ol>\n\n\n\n<pre class=\"wp-block-code\"><code>   php yii migrate\/create add_column_to_table<\/code><\/pre>\n\n\n\n<ol start=\"2\" class=\"wp-block-list\">\n<li>\u6267\u884c\u8fc1\u79fb\uff1a<\/li>\n<\/ol>\n\n\n\n<pre class=\"wp-block-code\"><code>   php yii migrate<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">\u901a\u8fc7\u5408\u7406\u914d\u7f6e\u5907\u4efd\u548c\u8fc1\u79fb\u673a\u5236\uff0c\u786e\u4fdd\u4f60\u7684\u5e94\u7528\u5728\u6570\u636e\u635f\u574f\u6216\u670d\u52a1\u5668\u6545\u969c\u65f6\u80fd\u591f\u6062\u590d\u3002<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h3 class=\"wp-block-heading\">\u5c0f\u7ed3<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">\u5728\u672c\u90e8\u5206\u4e2d\uff0c\u6211\u4eec\u8bb2\u89e3\u4e86\u5982\u4f55\u5c06 Yii \u5e94\u7528\u90e8\u7f72\u5230 Nginx\/Apache \u73af\u5883\u3001\u4f7f\u7528 Docker \u5bb9\u5668\u5316\u90e8\u7f72\u3001\u914d\u7f6e CI\/CD \u6d41\u7a0b\u8fdb\u884c\u6301\u7eed\u96c6\u6210\u3001\u5907\u4efd\u4e0e\u8fc1\u79fb\u64cd\u4f5c\u3002\u638c\u63e1\u8fd9\u4e9b\u90e8\u7f72\u4e0e\u53d1\u5e03\u6280\u5de7\u540e\uff0c\u4f60\u5c06\u80fd\u591f\u786e\u4fdd Yii \u5e94\u7528\u5728\u751f\u4ea7\u73af\u5883\u4e2d\u7684\u7a33\u5b9a\u8fd0\u884c\uff0c\u540c\u65f6\u52a0\u901f\u5f00\u53d1\u548c\u53d1\u5e03\u5468\u671f\u3002<\/p>\n","protected":false},"excerpt":{"rendered":"<p>\u672c\u90e8\u5206\u5c06\u8be6\u7ec6\u4ecb\u7ecd\u5982\u4f55\u5c06 Yii \u5e94\u7528\u90e8\u7f72\u5230\u751f\u4ea7\u73af\u5883\uff0c\u6d89\u53ca\u5e38\u89c1\u7684 Web \u670d\u52a1\u5668\u914d\u7f6e\uff08Nginx\/Apache\uff09 [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[63],"tags":[],"class_list":["post-1196","post","type-post","status-publish","format-standard","hentry","category-yii"],"_links":{"self":[{"href":"https:\/\/www.laixuexila.com\/index.php\/wp-json\/wp\/v2\/posts\/1196","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.laixuexila.com\/index.php\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.laixuexila.com\/index.php\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.laixuexila.com\/index.php\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.laixuexila.com\/index.php\/wp-json\/wp\/v2\/comments?post=1196"}],"version-history":[{"count":2,"href":"https:\/\/www.laixuexila.com\/index.php\/wp-json\/wp\/v2\/posts\/1196\/revisions"}],"predecessor-version":[{"id":1200,"href":"https:\/\/www.laixuexila.com\/index.php\/wp-json\/wp\/v2\/posts\/1196\/revisions\/1200"}],"wp:attachment":[{"href":"https:\/\/www.laixuexila.com\/index.php\/wp-json\/wp\/v2\/media?parent=1196"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.laixuexila.com\/index.php\/wp-json\/wp\/v2\/categories?post=1196"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.laixuexila.com\/index.php\/wp-json\/wp\/v2\/tags?post=1196"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}