在MAC下安装swoole,顺着文档安装也成功了,具体的细节是:
我把系统的php切换成MAMP的php,然后安装swoole。最后的php -m命令中也已经有swoole在了,但是phpinfo中却搜索不到swoole的字样
然后使用如下代码测试
<code><?php class Client { private $client; public function __construct() { $this->client = new swoole_client(SWOOLE_SOCK_TCP); } public function connect() { if( !$this->client->connect("127.0.0.1", 9501 , 1) ) { echo "Error: {$fp->errMsg}[{$fp->errCode}]\n"; } $message = $this->client->recv(); echo "Get Message From Server:{$message}\n"; fwrite(STDOUT, "请输入消息:"); $msg = trim(fgets(STDIN)); $this->client->send( $msg ); } public function test() { $this->client = new swoole_client(SWOOLE_SOCK_TCP); } } $client = new Client(); $client->connect(); </code>
返回:
Fatal error: Class 'swoole_client' not found in /Applications/MAMP/htdocs/swoole_example/01/swoole_simple_client.php on line 8
更新于(2015-08-07)
另一方方面:
php -i|grep swoole
返回
<code>swoole swoole support => enabled swoole.aio_thread_num => 2 => 2 swoole.display_errors => On => On swoole.message_queue_key => 0 => 0 swoole.unixsock_buffer_size => 8388608 => 8388608 </code>
php -i|more里的
<code>Configuration File (php.ini) Path => /Applications/MAMP/bin/php/php5.5.18/conf Loaded Configuration File => /Applications/MAMP/bin/php/php5.5.18/conf/php.ini, </code>
phpinfo里的
<code>Configuration File (php.ini) Path=>/Applications/MAMP/bin/php/php5.5.18/conf Loaded Configuration File=>/Library/Application Support/appsolute/MAMP PRO/conf/php.ini </code>
发现只有Loaded Congiguration File不同,
首先
1./Applications/MAMP/bin/php/php5.5.18/conf/php.ini已经写了extension=swoole.so
2/Library/Application Support/appsolute/MAMP PRO/conf/php.ini里面没有swoole.so
3.重启MAMP已经尝试过了
回复内容:
在MAC下安装swoole,顺着文档安装也成功了,具体的细节是:
我把系统的php切换成MAMP的php,然后安装swoole。最后的php -m命令中也已经有swoole在了,但是phpinfo中却搜索不到swoole的字样
然后使用如下代码测试
<code><?php class Client { private $client; public function __construct() { $this->client = new swoole_client(SWOOLE_SOCK_TCP); } public function connect() { if( !$this->client->connect("127.0.0.1", 9501 , 1) ) { echo "Error: {$fp->errMsg}[{$fp->errCode}]\n"; } $message = $this->client->recv(); echo "Get Message From Server:{$message}\n"; fwrite(STDOUT, "请输入消息:"); $msg = trim(fgets(STDIN)); $this->client->send( $msg ); } public function test() { $this->client = new swoole_client(SWOOLE_SOCK_TCP); } } $client = new Client(); $client->connect(); </code>
返回:
Fatal error: Class 'swoole_client' not found in /Applications/MAMP/htdocs/swoole_example/01/swoole_simple_client.php on line 8
更新于(2015-08-07)
另一方方面:
php -i|grep swoole
返回
<code>swoole swoole support => enabled swoole.aio_thread_num => 2 => 2 swoole.display_errors => On => On swoole.message_queue_key => 0 => 0 swoole.unixsock_buffer_size => 8388608 => 8388608 </code>
php -i|more里的
<code>Configuration File (php.ini) Path => /Applications/MAMP/bin/php/php5.5.18/conf Loaded Configuration File => /Applications/MAMP/bin/php/php5.5.18/conf/php.ini, </code>
phpinfo里的
<code>Configuration File (php.ini) Path=>/Applications/MAMP/bin/php/php5.5.18/conf Loaded Configuration File=>/Library/Application Support/appsolute/MAMP PRO/conf/php.ini </code>
发现只有Loaded Congiguration File不同,
首先
1./Applications/MAMP/bin/php/php5.5.18/conf/php.ini已经写了extension=swoole.so
2/Library/Application Support/appsolute/MAMP PRO/conf/php.ini里面没有swoole.so
3.重启MAMP已经尝试过了
phpinfo() 沒 swoole ,說明你可能沒重啟apache. 因為php -m 是實時的.所以看不出來.
建議你 php -i|grep swoole 看下先,如果有.很可能就是apache沒重啟造成的.
mac下還有一種可能性,mac自帶了php. 你swoole安裝到自帶的php上了...
分別看下 php -i|more 里面php的路徑和
phpinfo()路徑,對比下.看是否一致.
这个问题原因是你编译swoole生成swoole.so文件的php版本和你现在使用加载swoole的php版本不一致才导致报错的!
你可以用你当前使用的php重新编译一下swoole,生成swoole.so文件,然后在加载。
配置的时候记得指定 --php-config=你当前使用php的php-config路径!
MAMP的php.ini文件用的是模板,直接在对应版本下的php目录中修改是不会生效的,需要修改模板文件,在MAMP的菜单里面有此项功能,添加扩展之后重启web服务就行

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
