Skip to content

Commit 1eb4f64

Browse files
committed
5.0
改造PHP扩展管理方式基本结束
1 parent f6038ee commit 1eb4f64

File tree

4 files changed

+76
-16
lines changed

4 files changed

+76
-16
lines changed

mdserver/mdserver.xcodeproj/project.pbxproj

+4-4
Original file line numberDiff line numberDiff line change
@@ -525,7 +525,7 @@
525525
GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
526526
GCC_WARN_UNUSED_FUNCTION = YES;
527527
GCC_WARN_UNUSED_VARIABLE = YES;
528-
MACOSX_DEPLOYMENT_TARGET = 10.10;
528+
MACOSX_DEPLOYMENT_TARGET = 10.13;
529529
MTL_ENABLE_DEBUG_INFO = YES;
530530
ONLY_ACTIVE_ARCH = YES;
531531
SDKROOT = macosx;
@@ -574,7 +574,7 @@
574574
GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
575575
GCC_WARN_UNUSED_FUNCTION = YES;
576576
GCC_WARN_UNUSED_VARIABLE = YES;
577-
MACOSX_DEPLOYMENT_TARGET = 10.10;
577+
MACOSX_DEPLOYMENT_TARGET = 10.13;
578578
MTL_ENABLE_DEBUG_INFO = NO;
579579
SDKROOT = macosx;
580580
};
@@ -590,7 +590,7 @@
590590
INFOPLIST_FILE = mdserver/Info.plist;
591591
LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/../Frameworks";
592592
MACOSX_DEPLOYMENT_TARGET = 10.13;
593-
MARKETING_VERSION = 4.0.2;
593+
MARKETING_VERSION = 5.0;
594594
PRODUCT_BUNDLE_IDENTIFIER = "com.midoks.$(PRODUCT_NAME:rfc1034identifier)";
595595
PRODUCT_NAME = "$(TARGET_NAME)";
596596
};
@@ -606,7 +606,7 @@
606606
INFOPLIST_FILE = mdserver/Info.plist;
607607
LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/../Frameworks";
608608
MACOSX_DEPLOYMENT_TARGET = 10.13;
609-
MARKETING_VERSION = 4.0.2;
609+
MARKETING_VERSION = 5.0;
610610
MTL_ENABLE_DEBUG_INFO = YES;
611611
PRODUCT_BUNDLE_IDENTIFIER = "com.midoks.$(PRODUCT_NAME:rfc1034identifier)";
612612
PRODUCT_NAME = "$(TARGET_NAME)";

mdserver/mdserver/AppDelegate.m

+71-11
Original file line numberDiff line numberDiff line change
@@ -1163,13 +1163,14 @@ -(void)cmdDir:(id)sender
11631163

11641164
#pragma mark - 初始化PHP版本列表 -
11651165

1166-
-(NSMenu*)getPhpExtendsMenu:(NSString *) v
1166+
-(NSMenu*)getPhpExtendsMenu:(NSString *) v extlib:(NSMutableDictionary *)extlib
11671167
{
1168+
// NSLog(@"---log %@", v);
11681169
NSFileManager *fm = [NSFileManager defaultManager];
11691170
NSMenu *extListMenu = [[NSMenu alloc] initWithTitle:v];
11701171

11711172
NSString *rootDir = [NSCommon getRootDir];
1172-
NSString *extDir = [NSString stringWithFormat:@"%@bin/reinstall/php%@", rootDir, v];
1173+
NSString *extDir = [NSString stringWithFormat:@"%@bin/reinstall/extensions", rootDir];
11731174
NSArray *extList = [fm contentsOfDirectoryAtPath:extDir error:nil];
11741175

11751176
NSString *content = @"";
@@ -1211,6 +1212,18 @@ -(NSMenu*)getPhpExtendsMenu:(NSString *) v
12111212
}];
12121213

12131214
for (NSString *ee in __extList) {
1215+
//判断是否在支持的列表中 start
1216+
if (![[extlib allKeys] containsObject:ee]) {
1217+
continue;
1218+
}
1219+
1220+
NSArray *lib_version = [extlib objectForKey:ee];
1221+
1222+
if (![lib_version containsObject:v]) {
1223+
continue;
1224+
}
1225+
// NSLog(@"ext:%@:%@:%@", v,ee,lib_version);
1226+
//判断是否在支持的列表中 end
12141227

12151228
NSMenu *extMenu = [[NSMenu alloc] initWithTitle:v];
12161229
[extMenu addItemWithTitle:@"Install" action:@selector(phpExtInstall:) keyEquivalent:@""];
@@ -1245,7 +1258,7 @@ -(void)phpExtInstall:(id)sender
12451258
NSMenuItem *ppMenu=[pMenu parentItem];
12461259
NSMenuItem *pppMenu=[ppMenu parentItem];
12471260

1248-
NSString *installSh = [NSString stringWithFormat:@"%@bin/reinstall/php%@/%@/install.sh", rootDir, pppMenu.title,pMenu.title];
1261+
NSString *installSh = [NSString stringWithFormat:@"%@bin/reinstall/extensions/%@/install.sh", rootDir,pMenu.title];
12491262

12501263
if (![NSCommon fileIsExists:installSh]){
12511264
[self userCenter:[NSString stringWithFormat:@"PHP%@-%@扩展install脚本不存在!", pppMenu.title,pMenu.title]];
@@ -1279,7 +1292,7 @@ -(void)phpExtUninstall:(id)sender
12791292
NSMenuItem *ppMenu=[pMenu parentItem];
12801293
NSMenuItem *pppMenu=[ppMenu parentItem];
12811294

1282-
NSString *installSh = [NSString stringWithFormat:@"%@bin/reinstall/php%@/%@/uninstall.sh", rootDir, pppMenu.title,pMenu.title];
1295+
NSString *installSh = [NSString stringWithFormat:@"%@bin/reinstall/extensions/%@/uninstall.sh", rootDir,pMenu.title];
12831296

12841297
if (![NSCommon fileIsExists:installSh]){
12851298
[self userCenter:[NSString stringWithFormat:@"PHP%@-%@扩展uninstall脚本不存在!", pppMenu.title,pMenu.title]];
@@ -1311,7 +1324,7 @@ -(void)phpExtReload:(id)sender
13111324
NSMenuItem *ppMenu=[pMenu parentItem];
13121325
NSMenuItem *pppMenu=[ppMenu parentItem];
13131326

1314-
NSString *reloadSh = [NSString stringWithFormat:@"%@bin/reinstall/php%@/%@/reload.sh", rootDir, pppMenu.title,pMenu.title];
1327+
NSString *reloadSh = [NSString stringWithFormat:@"%@bin/reinstall/extensions/%@/reload.sh", rootDir,pMenu.title];
13151328

13161329
if (![NSCommon fileIsExists:reloadSh]){
13171330
[self userCenter:[NSString stringWithFormat:@"PHP%@-%@扩展reload脚本不存在!", pppMenu.title,pMenu.title]];
@@ -1338,11 +1351,11 @@ -(void)phpExtDir:(id)sender
13381351

13391352
NSMenuItem *cMenu = (NSMenuItem*)sender;
13401353
NSMenuItem *pMenu=[cMenu parentItem];
1341-
NSMenuItem *ppMenu=[pMenu parentItem];
1342-
NSMenuItem *pppMenu=[ppMenu parentItem];
1354+
// NSMenuItem *ppMenu=[pMenu parentItem];
1355+
// NSMenuItem *pppMenu=[ppMenu parentItem];
13431356

13441357
[NSCommon delayedRun:0 callback:^{
1345-
NSString *str = [NSString stringWithFormat:@"%@bin/reinstall/php%@/%@",rootDir,pppMenu.title,pMenu.title];
1358+
NSString *str = [NSString stringWithFormat:@"%@bin/reinstall/extensions/%@",rootDir,pMenu.title];
13461359
BOOL isDir = YES;
13471360
if ([fm fileExistsAtPath:str isDirectory:&isDir]){
13481361
[[NSTask launchedTaskWithLaunchPath:@"/usr/bin/open" arguments:[NSArray arrayWithObjects:str, nil]] waitUntilExit];
@@ -1460,7 +1473,7 @@ -(BOOL)findEnv:(NSString *)title{
14601473
return NO;
14611474
}
14621475

1463-
-(NSMenu*)getPhpVerMenu:(NSString *)title
1476+
-(NSMenu*)getPhpVerMenu:(NSString *)title extlib:(NSMutableDictionary *)extlib
14641477
{
14651478
NSMenu *vMenu = [[NSMenu alloc] initWithTitle:title];
14661479

@@ -1477,7 +1490,8 @@ -(NSMenu*)getPhpVerMenu:(NSString *)title
14771490
[vMenu addItemWithTitle:@"Dir" action:@selector(phpDir:) keyEquivalent:@""];
14781491
[vMenu addItemWithTitle:@"Extends Dir" action:@selector(phpExtendsDir:) keyEquivalent:@""];
14791492

1480-
NSMenu *extMenu = [self getPhpExtendsMenu:title];
1493+
// NSLog(@"init %@", @"ddd");
1494+
NSMenu *extMenu = [self getPhpExtendsMenu:title extlib:extlib];
14811495
NSMenuItem *extItem = [[NSMenuItem alloc] initWithTitle:@"Extends"
14821496
action:NULL
14831497
keyEquivalent:@""];
@@ -1486,6 +1500,50 @@ -(NSMenu*)getPhpVerMenu:(NSString *)title
14861500
return vMenu;
14871501
}
14881502

1503+
#pragma mark - 读取PHP依赖关系 -
1504+
-(NSMutableDictionary *)readPhpExtLib {
1505+
NSString *rootDir = [NSCommon getRootDir];
1506+
NSString *extensionsLibFile = [NSString stringWithFormat:@"%@bin/reinstall/extensions/lib.md", rootDir];
1507+
NSMutableDictionary *result = [[NSMutableDictionary alloc] init];
1508+
NSFileManager *fm = [NSFileManager defaultManager];
1509+
1510+
if (![fm fileExistsAtPath:extensionsLibFile]){
1511+
return result;
1512+
}
1513+
1514+
NSString *content = [NSString stringWithContentsOfFile:extensionsLibFile encoding:NSUTF8StringEncoding error:nil];
1515+
content = [content stringByTrimmingCharactersInSet:
1516+
[NSCharacterSet whitespaceAndNewlineCharacterSet]];
1517+
NSArray *list = [content componentsSeparatedByString:@"\n"];
1518+
1519+
1520+
for (int i=0; i<list.count; i++) {
1521+
NSString *dep = [list[i] stringByTrimmingCharactersInSet:
1522+
[NSCharacterSet whitespaceAndNewlineCharacterSet]];
1523+
1524+
NSArray *dep_list = [dep componentsSeparatedByString:@"|"];
1525+
if (dep_list.count < 2){
1526+
continue;
1527+
}
1528+
NSMutableArray *dep_version = [[NSMutableArray alloc] init];
1529+
1530+
NSString *libname = [dep_list[0] stringByTrimmingCharactersInSet:
1531+
[NSCharacterSet whitespaceAndNewlineCharacterSet]];
1532+
1533+
NSString *version =[dep_list[1] stringByTrimmingCharactersInSet:
1534+
[NSCharacterSet whitespaceAndNewlineCharacterSet]];
1535+
NSArray *dep_version_t = [version componentsSeparatedByString:@","];
1536+
1537+
for (int i=0; i<dep_version_t.count; i++) {
1538+
NSString *version_t = [dep_version_t[i] stringByTrimmingCharactersInSet:
1539+
[NSCharacterSet whitespaceAndNewlineCharacterSet]];
1540+
[dep_version addObject:version_t];
1541+
}
1542+
[result setObject:dep_version forKey:libname];
1543+
}
1544+
return result;
1545+
}
1546+
14891547
-(void)initPhpList
14901548
{
14911549
[phpVer.submenu removeAllItems];
@@ -1522,8 +1580,10 @@ -(void)initPhpList
15221580
return NO;
15231581
}];
15241582

1583+
1584+
NSMutableDictionary *extlib = [self readPhpExtLib];
15251585
for (NSString *f in _phpVlist) {
1526-
NSMenu *vMenu = [self getPhpVerMenu:f];
1586+
NSMenu *vMenu = [self getPhpVerMenu:f extlib:extlib];
15271587

15281588
NSMenuItem *vItem = [[NSMenuItem alloc] initWithTitle:f
15291589
action:@selector(phpStatusSet:)

mdserver/mdserver/Model/HostNameModel.m

+1-1
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@ -(id)init
1717
_hostname = @"localhost";
1818
_port = @"8888";
1919
_path = @"";
20-
_php = @"55";
20+
_php = @"56";
2121
}
2222
return self;
2323
}

0 commit comments

Comments
 (0)