Table des matières
抛弃 PHP 代价太高,抛弃php代价
Maison développement back-end tutoriel php 抛弃 PHP 代价太高,抛弃php代价_PHP教程

抛弃 PHP 代价太高,抛弃php代价_PHP教程

Jul 12, 2016 am 08:53 AM
mysql php 服务器

抛弃 PHP 代价太高,抛弃php代价

前言

我初次尝试编程使用的语言是php,并且在数个使用php作为主要开发语言的公司工作过。但是,我并不会对其他语言视而不见,并且现如今php已经不是我主要的开发语言了。

我认为我是一个可以因为“不需要过度担心语言设计”与“尽可能轻松地快速地赚钱、完成工作”就会很快乐的人。我最近刚从一个主要以php作为前端开发的全职工作岗位中离职。

最近我通读了那篇虽然已经陈旧但仍勾起如此真实的痛苦,以至于我无法再忽视的博文《Eevee.PHP:糟糕的设计带来的碎片 》。但是,我遇到了一些障碍,这是关于我不使用php后的艰难时期的故事。

做闲时项目的经济问题

我很自由。如果我不想,我可以一行php代码都不用写;我不再需要进行后端开发工作;还有,除非是浏览器由于某些灾难性的变化导致崩溃,否则由于可预见的未来,我将不必去做这些工作。

然而,我确实有一堆我想规划建立并促成实现的项目,项目还不止一个。实际上,我正试着建立一大堆规模略小的网站,以此获得一些满意的消极收入(不缴税收入)。(无论如何这都是我的目标)为此,我昨天启动了我的第一个未命名的网站。

不幸的是,因为这是一个需要自己掏钱的项目以及我很需要建很多站点,我不得不直接割舍一些东西。下面我将罗列它们,解释一下为什么我相信主机提供商不会为我工作,还有谈一下和我处于同一窘境的人们。

Heroku

如果我有钱,我会把所有的应用都放在heroku上面。就我的使用体验而言,Heroku非常不可思议。托管和配置你自己的环境一点儿都不麻烦,与你使用的语言也无关,如此种种。

使用Heroku的问题在于他的收费模式,尽管每个项目每个月7美元看起来并不多,但是当你有许多个项目的时候,费用就像火箭一样蹭蹭蹭往上涨。就算只有十个应用,对于可能没有任何结果的东西而言,每个月上到70美元的成本也已经太高了。

上面的成本甚至都没有考虑使用数据库的因素,每1000万行数据需要额外的9美元。如果一个项目有很大的数据流量,那也会加重应用的成本,很快我们就会发现每个月的成本变成一百多美元。

Amazon web services

AWS 的价格看起来更便宜点,但是我一直认为使用它在许多方面上会增加复杂度,配置和花费上同样会提高成本,对于一个每月只有几百访问量的小网站来说相当不值得。

我不能说我有很多使用AWS的经验,但关于它的一切都有一股浓浓的企业味道,我相信复杂应用的客户才是他们的关注点。

也许怎样有效率地在AWS上部署是值得学习的,但是怎样简单的去部署git服务?为了它我是否需要额外的服务?同样的一个实例是否可以运行多个应用?收费模型又是怎么样的呢?尽管看了他们的价格页面,我还是不明白哪一部分跟我相关。看完他们的网站我心里还是有一堆的问号无法找到答复。

Microsoft Azure

乍一看,微软的Azure似乎才是救世主。然而,即使我非常想要把大型应用部署在这里,我仍然存在一个顾虑,那就是关于Google和HTTPS的。

如果你看一下它们的定价模型,你应该就能明白(图片是从我的主页引用过来的,不好意思上面还带着些瑞典语~),认准这些才是最明智的。如果你选择标准版,据我得到的消息是你可以在上面部署多达50个应用。就我的情况来看,差不多也得选个标准版。每月580克朗,折合美元约70刀。虽然还是贵了点,但在Heroku上面那些我喜欢的特性在这里也都能够提供,这样算来也挺值了。当然,Azure略微复杂了一点,并且价格波动频繁,但瑕不掩瑜。

问题在于定价模型里所描述的标准版只支持5个SNI(Server Name Indication)。这是什么意思?根据我的理解,就是只能有5个站点支持SSL。鉴于Google对于不支持SSL的站点已经越来越不友好了,并且,Let's Encrypt项目已经能让每个网站都可以使用HTTPS加密,在我那多达50个站点中却只有5个能获得SSL支持,这一点实在不太好。以上这些只是我的个人理解,而且它提供的说明也有些少,所以也有可能是我理解错了。事实上,我的确希望是我错了,若果真如此,请大家在文章下面的评论栏里回复我。

GleSYS, Digital Ocean, Linode 自己服务器等

用这些钱去跟上面罗列的这些服务提供商租一个VPS才是唯一实际的替代方案。GleSYS的好处在于,有瑞典主机可用,这意味着低延时,并且数据通过美国政府的审查不存在任何风险。我可以放心地把用户数据存在那里。

相较于托管服务,价格是难以置信地低廉,就是得花点时间配置,你必须自己完成所有的设定和组织,这可是很大的工作量。我之所以选择托管服务,最大的原因就是因为,如果我的某个服务挂掉了,而我正在上班,我就必须等到下班回家以后才能处理这些事情,这都可能是七、八个小时以后的事了。

PHP社区提供解决方案

当Eevee抱怨PHP这个语言缺乏独特的特性的时候,社区已经拿出我试过的最炫的托管解决方案。它也正好是我曾经尝试过的最便宜的。

解决方案是Laravel Forge(Laravel工场).

如果你没有立即访问这个连接,让我给你解释一下。Laravel Forge服务$9一个月,他提供无限制的生产级php服务器(安装,设置和配置),你可以从一个Web界面控制所有的服务。更神奇的是,我可以针对任何VPS提供商,即使是最简单的AWS或数字海洋。这将帮助你扩展服务器,设置cron作业,编辑环境配置,使用git push部署等等。

Laravel Forge服务给我提供了Azure或HeroHu的不限应用数量的良好特性(只要VPS可以处理它)。Laravel Forge是不限于Laravel框架,任何PHP应用程序都行。

像Eevee一样,如果本条不能改进你对PHP社区的观念,没什么能了。但认真说,知道这个的人怎么会离开这么棒的服务呢?

利润是重要的

我认为我的故事是非常常见的。我认为我不是孤单的。世界上肯定有成千上万的小公司的负责人需要托管他们的应用程序。要么他们的项目恰好是一个网站。

一个来自Linode的10美元服务器和9美元的Laravel Forge,他们部署很快很便宜,这样打造的服务器很快就可以替代任何的假设,你就不会想做运维工作,包括服务器启动,运行,安装证书等工作。

我在网络上查找过答案,但是唯一令人信服的替代方案就是使用类似于Codeship的持续集成(Continuous Integration)服务。虽然它不是无限的,而且当你拥有超过5个项目(我有这样的计划)的时候费用直接提高到49美元,但是老实说它的服务确实很不错。另外,Codeship还提供自动化测试以及git推送部署服务,但不提供服务器,所以你仍需要自行准备网站服务器、数据库并配置好。

对于其他语言,也许Laravel Forge有更好的替代方案,也许没有。但我仍然认为,对我以及很多其他人来说,抛弃PHP代价实在太高了。即使我能负担的起,也没有什么意义。

最后,再一次引用Eevee的话:

毋庸置疑,PHP太流行了!

www.bkjia.comtruehttp://www.bkjia.com/PHPjc/1123828.htmlTechArticle抛弃 PHP 代价太高,抛弃php代价 前言 我初次尝试编程使用的语言是php,并且在数个使用php作为主要开发语言的公司工作过。但是,我并不会...
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn

Outils d'IA chauds

Undresser.AI Undress

Undresser.AI Undress

Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover

AI Clothes Remover

Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool

Undress AI Tool

Images de déshabillage gratuites

Clothoff.io

Clothoff.io

Dissolvant de vêtements AI

AI Hentai Generator

AI Hentai Generator

Générez AI Hentai gratuitement.

Article chaud

R.E.P.O. Crystals d'énergie expliqués et ce qu'ils font (cristal jaune)
3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Meilleurs paramètres graphiques
3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Comment réparer l'audio si vous n'entendez personne
3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
WWE 2K25: Comment déverrouiller tout dans Myrise
4 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌

Outils chauds

Bloc-notes++7.3.1

Bloc-notes++7.3.1

Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise

SublimeText3 version chinoise

Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1

Envoyer Studio 13.0.1

Puissant environnement de développement intégré PHP

Dreamweaver CS6

Dreamweaver CS6

Outils de développement Web visuel

SublimeText3 version Mac

SublimeText3 version Mac

Logiciel d'édition de code au niveau de Dieu (SublimeText3)

MySQL: la facilité de gestion des données pour les débutants MySQL: la facilité de gestion des données pour les débutants Apr 09, 2025 am 12:07 AM

MySQL convient aux débutants car il est simple à installer, puissant et facile à gérer les données. 1. Installation et configuration simples, adaptées à une variété de systèmes d'exploitation. 2. Prise en charge des opérations de base telles que la création de bases de données et de tables, d'insertion, d'interrogation, de mise à jour et de suppression de données. 3. Fournir des fonctions avancées telles que les opérations de jointure et les sous-questionnaires. 4. Les performances peuvent être améliorées par l'indexation, l'optimisation des requêtes et le partitionnement de la table. 5. Prise en charge des mesures de sauvegarde, de récupération et de sécurité pour garantir la sécurité et la cohérence des données.

Comment créer Navicat Premium Comment créer Navicat Premium Apr 09, 2025 am 07:09 AM

Créez une base de données à l'aide de NAVICAT Premium: Connectez-vous au serveur de base de données et entrez les paramètres de connexion. Cliquez avec le bouton droit sur le serveur et sélectionnez Créer une base de données. Entrez le nom de la nouvelle base de données et le jeu de caractères spécifié et la collation. Connectez-vous à la nouvelle base de données et créez le tableau dans le navigateur d'objet. Cliquez avec le bouton droit sur le tableau et sélectionnez Insérer des données pour insérer les données.

Comment créer une nouvelle connexion à MySQL dans Navicat Comment créer une nouvelle connexion à MySQL dans Navicat Apr 09, 2025 am 07:21 AM

Vous pouvez créer une nouvelle connexion MySQL dans NAVICAT en suivant les étapes: ouvrez l'application et sélectionnez une nouvelle connexion (CTRL N). Sélectionnez "MySQL" comme type de connexion. Entrez l'adresse Hostname / IP, le port, le nom d'utilisateur et le mot de passe. (Facultatif) Configurer les options avancées. Enregistrez la connexion et entrez le nom de la connexion.

Comment exécuter SQL dans Navicat Comment exécuter SQL dans Navicat Apr 08, 2025 pm 11:42 PM

Étapes pour effectuer SQL dans NAVICAT: Connectez-vous à la base de données. Créez une fenêtre d'éditeur SQL. Écrivez des requêtes ou des scripts SQL. Cliquez sur le bouton Exécuter pour exécuter une requête ou un script. Affichez les résultats (si la requête est exécutée).

MySQL: Concepts simples pour l'apprentissage facile MySQL: Concepts simples pour l'apprentissage facile Apr 10, 2025 am 09:29 AM

MySQL est un système de gestion de base de données relationnel open source. 1) Créez une base de données et des tables: utilisez les commandes CreateDatabase et CreateTable. 2) Opérations de base: insérer, mettre à jour, supprimer et sélectionner. 3) Opérations avancées: jointure, sous-requête et traitement des transactions. 4) Compétences de débogage: vérifiez la syntaxe, le type de données et les autorisations. 5) Suggestions d'optimisation: utilisez des index, évitez de sélectionner * et utilisez les transactions.

Navicat ne peut pas se connecter à MySQL / MARIADB / POSTRESQL et à d'autres bases de données Navicat ne peut pas se connecter à MySQL / MARIADB / POSTRESQL et à d'autres bases de données Apr 08, 2025 pm 11:00 PM

Raisons courantes pour lesquelles Navicat ne peut pas se connecter à la base de données et à ses solutions: 1. Vérifiez l'état d'exécution du serveur; 2. Vérifiez les informations de connexion; 3. Réglez les paramètres du pare-feu; 4. Configurer l'accès à distance; 5. Dépannage des problèmes de réseau; 6. Vérifier les autorisations; 7. Assurer la compatibilité de la version; 8. Dépannage d'autres possibilités.

Navicat se connecte au code et à la solution d'erreur de base de données Navicat se connecte au code et à la solution d'erreur de base de données Apr 08, 2025 pm 11:06 PM

Erreurs et solutions courantes Lors de la connexion aux bases de données: nom d'utilisateur ou mot de passe (erreur 1045) Blocs de pare-feu Connexion (erreur 2003) Délai de connexion (erreur 10060) Impossible d'utiliser la connexion à socket (erreur 1042) Erreur de connexion SSL (erreur 10055) Trop de connexions Résultat de l'hôte étant bloqué (erreur 1129)

Quelle est la différence entre la syntaxe pour ajouter des colonnes dans différents systèmes de base de données Quelle est la différence entre la syntaxe pour ajouter des colonnes dans différents systèmes de base de données Apr 09, 2025 pm 02:15 PM

不同数据库系统添加列的语法为 : MySQL: alter table table_name Ajouter Column_name data_type; postgresql: alter table table_name Add Column Column_name data_type; Oracle: alter table table_name add (chronn_name data_type); sql server: alter alter table_name Add Column_name data__

See all articles