前言
周末购置了一台Macbook Pro,所以准备将所有的工作环境都慢慢的迁移到Mac上来,简单的使用了一下,确实不错,用户体验真的是非常好。目前在学习PHP相关的开发,就需要配置PHP的开发环境,网上对Macbook上配置PHP开发环境的文件比较少,我上网查了一些资料,自己通过这篇文章做一个总结,希望对后来的同学们有点用。
安装环境如下:
- Mac OS 10.10.1
- Apache 2.4.9
- PHP 5.5.14
- MySQL 5.6.22
Apache配置
在Mac OS 10.10.1中是自带Apache软件的,我们只需要启动对应的服务就好了,以下命令是操作Apache时常用的几个命令
// 启动Apache服务sudo apachectl start// 重新启动Apache服务sudo apachectl restart// 关闭Apache服务sudo apachectl stop// 查看Apache的版本httpd -v
先启动Apache服务吧,然后在浏览器中输入localhost。出现It works字样,说明Apache就搞定了。
在Macbook pro下,Apache的网站服务器根目录在/Library/WebServer/Documents路径下。
php
在Mac OS中已经自带了PHP了,我们只需要在Apache的配置文件中添加Apache对PHP的支持就好了,步骤如下:
编辑http.conf配置文件,命令如下:
sudo vim /etc/apache2/httpd.conf
去掉以下部分的注释:
LoadModule php5_module libexec/apache2/libphp5.so
重启Apache服务吧;写一个简单的测试文件测试一下。
MySQL
安装MySQL是比较麻烦的,由于在Mac OS中是直接带有Apache和PHP的,所以安装它们,比较简单,而MySQL是不带的,需要我们去官网下载。
下载完成以后,直接安装吧。安装完成以后,从 System Preferences 中启动MySQL服务,如下图所示:
安装完在命令行运行啥命令都会报一下错误,需要改下密码:
mac mysql error You must reset your password using ALTER USER statement before executing this statement.
step 1: SET PASSWORD = PASSWORD(‘your new password’);
step 2: ALTER USER ‘root’@’localhost’ PASSWORD EXPIRE NEVER;
step 3: flush privileges;
完成以上三步退出再登,使用新设置的密码就行了,以上除了红色的自己修改成新密码外,其他原样输入即可
参考 1: https://dev.mysql.com/doc/refman/5.6/en/alter-user.html
参考 2: http://dev.mysql.com/doc/refman/5.7/en/password-expiration-policy.html
参考 3: http://stackoverflow.com/questions/33467337/reset-mysql-root-password-using-alter-user-statement-after-install-on-mac

TomakePHPapplicationsfaster,followthesesteps:1)UseOpcodeCachinglikeOPcachetostoreprecompiledscriptbytecode.2)MinimizeDatabaseQueriesbyusingquerycachingandefficientindexing.3)LeveragePHP7 Featuresforbettercodeefficiency.4)ImplementCachingStrategiessuc

ToimprovePHPapplicationspeed,followthesesteps:1)EnableopcodecachingwithAPCutoreducescriptexecutiontime.2)ImplementdatabasequerycachingusingPDOtominimizedatabasehits.3)UseHTTP/2tomultiplexrequestsandreduceconnectionoverhead.4)Limitsessionusagebyclosin

Dependency injection (DI) significantly improves the testability of PHP code by explicitly transitive dependencies. 1) DI decoupling classes and specific implementations make testing and maintenance more flexible. 2) Among the three types, the constructor injects explicit expression dependencies to keep the state consistent. 3) Use DI containers to manage complex dependencies to improve code quality and development efficiency.

DatabasequeryoptimizationinPHPinvolvesseveralstrategiestoenhanceperformance.1)Selectonlynecessarycolumnstoreducedatatransfer.2)Useindexingtospeedupdataretrieval.3)Implementquerycachingtostoreresultsoffrequentqueries.4)Utilizepreparedstatementsforeffi

PHPisusedforsendingemailsduetoitsbuilt-inmail()functionandsupportivelibrarieslikePHPMailerandSwiftMailer.1)Usethemail()functionforbasicemails,butithaslimitations.2)EmployPHPMailerforadvancedfeatureslikeHTMLemailsandattachments.3)Improvedeliverability

PHP performance bottlenecks can be solved through the following steps: 1) Use Xdebug or Blackfire for performance analysis to find out the problem; 2) Optimize database queries and use caches, such as APCu; 3) Use efficient functions such as array_filter to optimize array operations; 4) Configure OPcache for bytecode cache; 5) Optimize the front-end, such as reducing HTTP requests and optimizing pictures; 6) Continuously monitor and optimize performance. Through these methods, the performance of PHP applications can be significantly improved.

DependencyInjection(DI)inPHPisadesignpatternthatmanagesandreducesclassdependencies,enhancingcodemodularity,testability,andmaintainability.Itallowspassingdependencieslikedatabaseconnectionstoclassesasparameters,facilitatingeasiertestingandscalability.

CachingimprovesPHPperformancebystoringresultsofcomputationsorqueriesforquickretrieval,reducingserverloadandenhancingresponsetimes.Effectivestrategiesinclude:1)Opcodecaching,whichstorescompiledPHPscriptsinmemorytoskipcompilation;2)DatacachingusingMemc


Hot AI Tools

Undresser.AI Undress
AI-powered app for creating realistic nude photos

AI Clothes Remover
Online AI tool for removing clothes from photos.

Undress AI Tool
Undress images for free

Clothoff.io
AI clothes remover

Video Face Swap
Swap faces in any video effortlessly with our completely free AI face swap tool!

Hot Article

Hot Tools

SecLists
SecLists is the ultimate security tester's companion. It is a collection of various types of lists that are frequently used during security assessments, all in one place. SecLists helps make security testing more efficient and productive by conveniently providing all the lists a security tester might need. List types include usernames, passwords, URLs, fuzzing payloads, sensitive data patterns, web shells, and more. The tester can simply pull this repository onto a new test machine and he will have access to every type of list he needs.

ZendStudio 13.5.1 Mac
Powerful PHP integrated development environment

MantisBT
Mantis is an easy-to-deploy web-based defect tracking tool designed to aid in product defect tracking. It requires PHP, MySQL and a web server. Check out our demo and hosting services.

MinGW - Minimalist GNU for Windows
This project is in the process of being migrated to osdn.net/projects/mingw, you can continue to follow us there. MinGW: A native Windows port of the GNU Compiler Collection (GCC), freely distributable import libraries and header files for building native Windows applications; includes extensions to the MSVC runtime to support C99 functionality. All MinGW software can run on 64-bit Windows platforms.

SublimeText3 Linux new version
SublimeText3 Linux latest version
